Lab4 comm
This commit is contained in:
commit
7933a8aff7
73
build.xml
Normal file
73
build.xml
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- You may freely edit this file. See commented blocks below for -->
|
||||||
|
<!-- some examples of how to customize the build. -->
|
||||||
|
<!-- (If you delete it and reopen the project it will be recreated.) -->
|
||||||
|
<!-- By default, only the Clean and Build commands use this build script. -->
|
||||||
|
<!-- Commands such as Run, Debug, and Test only use this build script if -->
|
||||||
|
<!-- the Compile on Save feature is turned off for the project. -->
|
||||||
|
<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
|
||||||
|
<!-- in the project's Project Properties dialog box.-->
|
||||||
|
<project name="JavaApplication1" default="default" basedir=".">
|
||||||
|
<description>Builds, tests, and runs the project JavaApplication1.</description>
|
||||||
|
<import file="nbproject/build-impl.xml"/>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
There exist several targets which are by default empty and which can be
|
||||||
|
used for execution of your tasks. These targets are usually executed
|
||||||
|
before and after some main targets. They are:
|
||||||
|
|
||||||
|
-pre-init: called before initialization of project properties
|
||||||
|
-post-init: called after initialization of project properties
|
||||||
|
-pre-compile: called before javac compilation
|
||||||
|
-post-compile: called after javac compilation
|
||||||
|
-pre-compile-single: called before javac compilation of single file
|
||||||
|
-post-compile-single: called after javac compilation of single file
|
||||||
|
-pre-compile-test: called before javac compilation of JUnit tests
|
||||||
|
-post-compile-test: called after javac compilation of JUnit tests
|
||||||
|
-pre-compile-test-single: called before javac compilation of single JUnit test
|
||||||
|
-post-compile-test-single: called after javac compilation of single JUunit test
|
||||||
|
-pre-jar: called before JAR building
|
||||||
|
-post-jar: called after JAR building
|
||||||
|
-post-clean: called after cleaning build products
|
||||||
|
|
||||||
|
(Targets beginning with '-' are not intended to be called on their own.)
|
||||||
|
|
||||||
|
Example of inserting an obfuscator after compilation could look like this:
|
||||||
|
|
||||||
|
<target name="-post-compile">
|
||||||
|
<obfuscate>
|
||||||
|
<fileset dir="${build.classes.dir}"/>
|
||||||
|
</obfuscate>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
For list of available properties check the imported
|
||||||
|
nbproject/build-impl.xml file.
|
||||||
|
|
||||||
|
|
||||||
|
Another way to customize the build is by overriding existing main targets.
|
||||||
|
The targets of interest are:
|
||||||
|
|
||||||
|
-init-macrodef-javac: defines macro for javac compilation
|
||||||
|
-init-macrodef-junit: defines macro for junit execution
|
||||||
|
-init-macrodef-debug: defines macro for class debugging
|
||||||
|
-init-macrodef-java: defines macro for class execution
|
||||||
|
-do-jar: JAR building
|
||||||
|
run: execution of project
|
||||||
|
-javadoc-build: Javadoc generation
|
||||||
|
test-report: JUnit report generation
|
||||||
|
|
||||||
|
An example of overriding the target for project execution could look like this:
|
||||||
|
|
||||||
|
<target name="run" depends="JavaApplication1-impl.jar">
|
||||||
|
<exec dir="bin" executable="launcher.exe">
|
||||||
|
<arg file="${dist.jar}"/>
|
||||||
|
</exec>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
Notice that the overridden target depends on the jar target and not only on
|
||||||
|
the compile target as the regular run target does. Again, for a list of available
|
||||||
|
properties which you can use, check the target you are overriding in the
|
||||||
|
nbproject/build-impl.xml file.
|
||||||
|
|
||||||
|
-->
|
||||||
|
</project>
|
3
manifest.mf
Normal file
3
manifest.mf
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Manifest-Version: 1.0
|
||||||
|
X-COMMENT: Main-Class will be added automatically by build
|
||||||
|
|
1771
nbproject/build-impl.xml
Normal file
1771
nbproject/build-impl.xml
Normal file
File diff suppressed because it is too large
Load Diff
8
nbproject/genfiles.properties
Normal file
8
nbproject/genfiles.properties
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
build.xml.data.CRC32=3569ad16
|
||||||
|
build.xml.script.CRC32=360ae6d5
|
||||||
|
build.xml.stylesheet.CRC32=f85dc8f2@1.106.0.48
|
||||||
|
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
||||||
|
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
||||||
|
nbproject/build-impl.xml.data.CRC32=3569ad16
|
||||||
|
nbproject/build-impl.xml.script.CRC32=53035f8f
|
||||||
|
nbproject/build-impl.xml.stylesheet.CRC32=12e0a6c2@1.106.0.48
|
98
nbproject/project.properties
Normal file
98
nbproject/project.properties
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
annotation.processing.enabled=true
|
||||||
|
annotation.processing.enabled.in.editor=false
|
||||||
|
annotation.processing.processors.list=
|
||||||
|
annotation.processing.run.all.processors=true
|
||||||
|
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
|
||||||
|
application.title=JavaApplication1
|
||||||
|
application.vendor=oleg
|
||||||
|
build.classes.dir=${build.dir}/classes
|
||||||
|
build.classes.excludes=**/*.java,**/*.form
|
||||||
|
# This directory is removed when the project is cleaned:
|
||||||
|
build.dir=build
|
||||||
|
build.generated.dir=${build.dir}/generated
|
||||||
|
build.generated.sources.dir=${build.dir}/generated-sources
|
||||||
|
# Only compile against the classpath explicitly listed here:
|
||||||
|
build.sysclasspath=ignore
|
||||||
|
build.test.classes.dir=${build.dir}/test/classes
|
||||||
|
build.test.results.dir=${build.dir}/test/results
|
||||||
|
# Uncomment to specify the preferred debugger connection transport:
|
||||||
|
#debug.transport=dt_socket
|
||||||
|
debug.classpath=\
|
||||||
|
${run.classpath}
|
||||||
|
debug.modulepath=\
|
||||||
|
${run.modulepath}
|
||||||
|
debug.test.classpath=\
|
||||||
|
${run.test.classpath}
|
||||||
|
debug.test.modulepath=\
|
||||||
|
${run.test.modulepath}
|
||||||
|
# Files in build.classes.dir which should be excluded from distribution jar
|
||||||
|
dist.archive.excludes=
|
||||||
|
# This directory is removed when the project is cleaned:
|
||||||
|
dist.dir=dist
|
||||||
|
dist.jar=${dist.dir}/JavaApplication1.jar
|
||||||
|
dist.javadoc.dir=${dist.dir}/javadoc
|
||||||
|
dist.jlink.dir=${dist.dir}/jlink
|
||||||
|
dist.jlink.output=${dist.jlink.dir}/JavaApplication1
|
||||||
|
endorsed.classpath=
|
||||||
|
excludes=
|
||||||
|
includes=**
|
||||||
|
jar.compress=false
|
||||||
|
javac.classpath=\
|
||||||
|
${libs.PostgreSQLDriver.classpath}
|
||||||
|
# Space-separated list of extra javac options
|
||||||
|
javac.compilerargs=
|
||||||
|
javac.deprecation=false
|
||||||
|
javac.external.vm=true
|
||||||
|
javac.modulepath=
|
||||||
|
javac.processormodulepath=
|
||||||
|
javac.processorpath=\
|
||||||
|
${javac.classpath}
|
||||||
|
javac.source=18
|
||||||
|
javac.target=18
|
||||||
|
javac.test.classpath=\
|
||||||
|
${javac.classpath}:\
|
||||||
|
${build.classes.dir}
|
||||||
|
javac.test.modulepath=\
|
||||||
|
${javac.modulepath}
|
||||||
|
javac.test.processorpath=\
|
||||||
|
${javac.test.classpath}
|
||||||
|
javadoc.additionalparam=
|
||||||
|
javadoc.author=false
|
||||||
|
javadoc.encoding=${source.encoding}
|
||||||
|
javadoc.html5=false
|
||||||
|
javadoc.noindex=false
|
||||||
|
javadoc.nonavbar=false
|
||||||
|
javadoc.notree=false
|
||||||
|
javadoc.private=false
|
||||||
|
javadoc.splitindex=true
|
||||||
|
javadoc.use=true
|
||||||
|
javadoc.version=false
|
||||||
|
javadoc.windowtitle=
|
||||||
|
# The jlink additional root modules to resolve
|
||||||
|
jlink.additionalmodules=
|
||||||
|
# The jlink additional command line parameters
|
||||||
|
jlink.additionalparam=
|
||||||
|
jlink.launcher=true
|
||||||
|
jlink.launcher.name=JavaApplication1
|
||||||
|
main.class=javaapplication1.MainFrame
|
||||||
|
manifest.file=manifest.mf
|
||||||
|
meta.inf.dir=${src.dir}/META-INF
|
||||||
|
mkdist.disabled=false
|
||||||
|
platform.active=default_platform
|
||||||
|
run.classpath=\
|
||||||
|
${javac.classpath}:\
|
||||||
|
${build.classes.dir}
|
||||||
|
# Space-separated list of JVM arguments used when running the project.
|
||||||
|
# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
|
||||||
|
# To set system properties for unit tests define test-sys-prop.name=value:
|
||||||
|
run.jvmargs=
|
||||||
|
run.modulepath=\
|
||||||
|
${javac.modulepath}
|
||||||
|
run.test.classpath=\
|
||||||
|
${javac.test.classpath}:\
|
||||||
|
${build.test.classes.dir}
|
||||||
|
run.test.modulepath=\
|
||||||
|
${javac.test.modulepath}
|
||||||
|
source.encoding=UTF-8
|
||||||
|
src.dir=src
|
||||||
|
test.src.dir=test
|
15
nbproject/project.xml
Normal file
15
nbproject/project.xml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://www.netbeans.org/ns/project/1">
|
||||||
|
<type>org.netbeans.modules.java.j2seproject</type>
|
||||||
|
<configuration>
|
||||||
|
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
|
||||||
|
<name>JavaApplication1</name>
|
||||||
|
<source-roots>
|
||||||
|
<root id="src.dir"/>
|
||||||
|
</source-roots>
|
||||||
|
<test-roots>
|
||||||
|
<root id="test.src.dir"/>
|
||||||
|
</test-roots>
|
||||||
|
</data>
|
||||||
|
</configuration>
|
||||||
|
</project>
|
17
src/javaapplication1/DBConnection.java
Normal file
17
src/javaapplication1/DBConnection.java
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
package javaapplication1;
|
||||||
|
import java.sql.*;
|
||||||
|
|
||||||
|
public class DBConnection {
|
||||||
|
public static Connection getConnection() throws SQLException {
|
||||||
|
Connection connection = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.postgresql.Driver");
|
||||||
|
connection = DriverManager.getConnection(
|
||||||
|
"jdbc:postgresql://192.168.1.44:5432/hotel", "hotel_admin", "1");
|
||||||
|
System.out.println("Connected to PostgreSQL database!");
|
||||||
|
} catch (ClassNotFoundException | SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return connection;
|
||||||
|
}
|
||||||
|
}
|
84
src/javaapplication1/GuestToRoom.form
Normal file
84
src/javaapplication1/GuestToRoom.form
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
|
||||||
|
<Properties>
|
||||||
|
<Property name="defaultCloseOperation" type="int" value="3"/>
|
||||||
|
</Properties>
|
||||||
|
<SyntheticProperties>
|
||||||
|
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||||
|
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
|
||||||
|
</SyntheticProperties>
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||||
|
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jScrollPane1" min="-2" pref="375" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace pref="13" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jScrollPane1" min="-2" pref="301" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace pref="13" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JTable" name="jTable1">
|
||||||
|
<Properties>
|
||||||
|
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||||
|
<Table columnCount="2" rowCount="4">
|
||||||
|
<Column editable="true" title="id" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="fullname" type="java.lang.String"/>
|
||||||
|
</Table>
|
||||||
|
</Property>
|
||||||
|
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||||
|
<TableColumnModel selectionModel="0">
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
</TableColumnModel>
|
||||||
|
</Property>
|
||||||
|
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
|
||||||
|
<TableHeader reorderingAllowed="true" resizingAllowed="true"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTable1MouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
</SubComponents>
|
||||||
|
</Form>
|
149
src/javaapplication1/GuestToRoom.java
Normal file
149
src/javaapplication1/GuestToRoom.java
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
|
||||||
|
*/
|
||||||
|
package javaapplication1;
|
||||||
|
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author oleg
|
||||||
|
*/
|
||||||
|
public class GuestToRoom extends javax.swing.JFrame {
|
||||||
|
|
||||||
|
private Statement stmt;
|
||||||
|
private Connection conn;
|
||||||
|
private int roomid;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates new form NewRoomEdit
|
||||||
|
*/
|
||||||
|
public GuestToRoom(int rid) {
|
||||||
|
initComponents();
|
||||||
|
roomid = rid;
|
||||||
|
|
||||||
|
try {
|
||||||
|
conn = DBConnection.getConnection();
|
||||||
|
stmt = conn.createStatement();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
refreshTable();
|
||||||
|
setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called from within the constructor to initialize the form.
|
||||||
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
|
* regenerated by the Form Editor.
|
||||||
|
*/
|
||||||
|
|
||||||
|
private void refreshTable() {
|
||||||
|
try {
|
||||||
|
ResultSet rs = stmt.executeQuery("SELECT id, fullname FROM guests ORDER BY id ASC;");
|
||||||
|
DefaultTableModel model = new DefaultTableModel(new Object[]{"ID", "Full Name"}, 0){
|
||||||
|
@Override
|
||||||
|
public boolean isCellEditable(int i, int i1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
while (rs.next()) {
|
||||||
|
model.addRow(new Object[]{rs.getInt("id"), rs.getString("fullname")});
|
||||||
|
}
|
||||||
|
jTable1.setModel(model);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
|
private void initComponents() {
|
||||||
|
|
||||||
|
jScrollPane1 = new javax.swing.JScrollPane();
|
||||||
|
jTable1 = new javax.swing.JTable();
|
||||||
|
|
||||||
|
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
||||||
|
|
||||||
|
jTable1.setModel(new javax.swing.table.DefaultTableModel(
|
||||||
|
new Object [][] {
|
||||||
|
{null, null},
|
||||||
|
{null, null},
|
||||||
|
{null, null},
|
||||||
|
{null, null}
|
||||||
|
},
|
||||||
|
new String [] {
|
||||||
|
"id", "fullname"
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
Class[] types = new Class [] {
|
||||||
|
java.lang.Integer.class, java.lang.String.class
|
||||||
|
};
|
||||||
|
|
||||||
|
public Class getColumnClass(int columnIndex) {
|
||||||
|
return types [columnIndex];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
jTable1MouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jScrollPane1.setViewportView(jTable1);
|
||||||
|
|
||||||
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||||
|
getContentPane().setLayout(layout);
|
||||||
|
layout.setHorizontalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addContainerGap(13, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
layout.setVerticalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 301, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addContainerGap(13, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
|
||||||
|
pack();
|
||||||
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
|
||||||
|
if (evt.getClickCount() == 2) { // обработка двойного клика
|
||||||
|
JTable target = (JTable)evt.getSource();
|
||||||
|
int row = target.getSelectedRow(); // получаем номер строки
|
||||||
|
Object[] rowData = new Object[target.getColumnCount()];
|
||||||
|
// получаем значения ячеек выбранной строки
|
||||||
|
for (int i = 0; i < target.getColumnCount(); i++) {
|
||||||
|
rowData[i] = target.getValueAt(row, i);
|
||||||
|
}
|
||||||
|
int guestid = (int) target.getModel().getValueAt(row, 0);
|
||||||
|
try {
|
||||||
|
stmt.executeUpdate("INSERT INTO settlement (guestid, roomid) VALUES (" + guestid + ", " + roomid + ")");
|
||||||
|
refreshTable();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
// String fullname = (String) target.getModel().getValueAt(row, 1);
|
||||||
|
dispose();
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_jTable1MouseClicked
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param args the command line arguments
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JScrollPane jScrollPane1;
|
||||||
|
private javax.swing.JTable jTable1;
|
||||||
|
// End of variables declaration//GEN-END:variables
|
||||||
|
}
|
162
src/javaapplication1/GuestsPanel.form
Normal file
162
src/javaapplication1/GuestsPanel.form
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
|
||||||
|
<Properties>
|
||||||
|
<Property name="defaultCloseOperation" type="int" value="3"/>
|
||||||
|
</Properties>
|
||||||
|
<SyntheticProperties>
|
||||||
|
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||||
|
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
|
||||||
|
</SyntheticProperties>
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||||
|
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jScrollPane1" pref="609" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace min="-2" pref="65" max="-2" attributes="0"/>
|
||||||
|
<Component id="AddButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
|
||||||
|
<Component id="UpdateButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="70" max="-2" attributes="0"/>
|
||||||
|
<Component id="RefreshButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
|
||||||
|
<Component id="CloseButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jScrollPane1" min="-2" pref="302" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="27" max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
|
<Component id="AddButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="UpdateButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="CloseButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="RefreshButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace pref="52" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JTable" name="jTable1">
|
||||||
|
<Properties>
|
||||||
|
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||||
|
<Table columnCount="6" rowCount="0">
|
||||||
|
<Column editable="true" title="id" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="fullname" type="java.lang.String"/>
|
||||||
|
<Column editable="true" title="sex" type="java.lang.String"/>
|
||||||
|
<Column editable="true" title="address" type="java.lang.String"/>
|
||||||
|
<Column editable="true" title="birthdate" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="passport_number" type="java.lang.String"/>
|
||||||
|
</Table>
|
||||||
|
</Property>
|
||||||
|
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||||
|
<TableColumnModel selectionModel="0">
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
</TableColumnModel>
|
||||||
|
</Property>
|
||||||
|
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
|
||||||
|
<TableHeader reorderingAllowed="true" resizingAllowed="true"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTable1MouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
<Component class="javax.swing.JButton" name="AddButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Add"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="AddButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="UpdateButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Update"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="UpdateButtonMouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="CloseButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Delete"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="CloseButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="RefreshButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Refresh"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="RefreshButtonMouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Form>
|
337
src/javaapplication1/GuestsPanel.java
Normal file
337
src/javaapplication1/GuestsPanel.java
Normal file
@ -0,0 +1,337 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
|
||||||
|
*/
|
||||||
|
package javaapplication1;
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.awt.event.WindowAdapter;
|
||||||
|
import java.awt.event.WindowEvent;
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author oleg
|
||||||
|
*/
|
||||||
|
public class GuestsPanel extends javax.swing.JFrame {
|
||||||
|
private Statement stmt;
|
||||||
|
private Connection conn;
|
||||||
|
/**
|
||||||
|
* Creates new form NewJFrame1
|
||||||
|
*/
|
||||||
|
public GuestsPanel() {
|
||||||
|
initComponents();
|
||||||
|
try {
|
||||||
|
conn = DBConnection.getConnection();
|
||||||
|
stmt = conn.createStatement();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
refreshTable();
|
||||||
|
setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called from within the constructor to initialize the form.
|
||||||
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
|
* regenerated by the Form Editor.
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
|
private void initComponents() {
|
||||||
|
|
||||||
|
jScrollPane1 = new javax.swing.JScrollPane();
|
||||||
|
jTable1 = new javax.swing.JTable();
|
||||||
|
AddButton = new javax.swing.JButton();
|
||||||
|
UpdateButton = new javax.swing.JButton();
|
||||||
|
CloseButton = new javax.swing.JButton();
|
||||||
|
RefreshButton = new javax.swing.JButton();
|
||||||
|
|
||||||
|
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
||||||
|
|
||||||
|
jTable1.setModel(new javax.swing.table.DefaultTableModel(
|
||||||
|
new Object [][] {
|
||||||
|
|
||||||
|
},
|
||||||
|
new String [] {
|
||||||
|
"id", "fullname", "sex", "address", "birthdate", "passport_number"
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
Class[] types = new Class [] {
|
||||||
|
java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.String.class
|
||||||
|
};
|
||||||
|
|
||||||
|
public Class getColumnClass(int columnIndex) {
|
||||||
|
return types [columnIndex];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
jTable1MouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jScrollPane1.setViewportView(jTable1);
|
||||||
|
|
||||||
|
AddButton.setLabel("Add");
|
||||||
|
AddButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
AddButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
UpdateButton.setLabel("Update");
|
||||||
|
UpdateButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
UpdateButtonMouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
CloseButton.setLabel("Delete");
|
||||||
|
CloseButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
CloseButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
RefreshButton.setLabel("Refresh");
|
||||||
|
RefreshButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
RefreshButtonMouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||||
|
getContentPane().setLayout(layout);
|
||||||
|
layout.setHorizontalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 609, Short.MAX_VALUE))
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addGap(65, 65, 65)
|
||||||
|
.addComponent(AddButton)
|
||||||
|
.addGap(71, 71, 71)
|
||||||
|
.addComponent(UpdateButton)
|
||||||
|
.addGap(70, 70, 70)
|
||||||
|
.addComponent(RefreshButton)
|
||||||
|
.addGap(71, 71, 71)
|
||||||
|
.addComponent(CloseButton)
|
||||||
|
.addGap(0, 0, Short.MAX_VALUE)))
|
||||||
|
.addContainerGap())
|
||||||
|
);
|
||||||
|
layout.setVerticalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 302, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addGap(27, 27, 27)
|
||||||
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
|
.addComponent(AddButton)
|
||||||
|
.addComponent(UpdateButton)
|
||||||
|
.addComponent(CloseButton)
|
||||||
|
.addComponent(RefreshButton))
|
||||||
|
.addContainerGap(52, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
|
||||||
|
pack();
|
||||||
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
private void AddButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddButtonActionPerformed
|
||||||
|
try {
|
||||||
|
String fullname = JOptionPane.showInputDialog("Enter room Full Name:");
|
||||||
|
String sex = JOptionPane.showInputDialog("Enter Sex:");
|
||||||
|
String address = JOptionPane.showInputDialog("Enter Address:");
|
||||||
|
String datestr = JOptionPane.showInputDialog("Enter Birth Date:");
|
||||||
|
DateFormat format = new SimpleDateFormat("yyyy-mm-dd");
|
||||||
|
Date birthdate = format.parse(datestr);
|
||||||
|
String passport_Number = JOptionPane.showInputDialog("Enter Passport Number:");
|
||||||
|
stmt.executeUpdate("INSERT INTO guests (fullname, sex, address, birthdate, passport_number) VALUES ('" + fullname + "', '" + sex + "', '" + address + "', " + birthdate + ", '" + passport_Number + "')");
|
||||||
|
refreshTable();
|
||||||
|
} catch (SQLException | ParseException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
// обновление таблицы
|
||||||
|
updateTable();
|
||||||
|
refreshTable();
|
||||||
|
|
||||||
|
}//GEN-LAST:event_AddButtonActionPerformed
|
||||||
|
|
||||||
|
private void UpdateButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_UpdateButtonMouseClicked
|
||||||
|
updateTable();
|
||||||
|
}//GEN-LAST:event_UpdateButtonMouseClicked
|
||||||
|
|
||||||
|
private void refreshTable() {
|
||||||
|
try {
|
||||||
|
ResultSet rs = stmt.executeQuery("SELECT * FROM guests ORDER BY id ASC;");
|
||||||
|
DefaultTableModel model = new DefaultTableModel(new Object[]{"ID", "Full Name", "Sex", "Address", "Birthdate", "Passport Number"}, 0){
|
||||||
|
@Override
|
||||||
|
public boolean isCellEditable(int i, int i1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
while (rs.next()) {
|
||||||
|
model.addRow(new Object[]{rs.getInt("id"), rs.getString("fullname"), rs.getString("sex"), rs.getString("address"), rs.getDate("birthdate"), rs.getString("passport_number")});
|
||||||
|
}
|
||||||
|
jTable1.setModel(model);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateTable() {
|
||||||
|
try {
|
||||||
|
String query = "SELECT * FROM guests";
|
||||||
|
ResultSet resultSet = stmt.executeQuery(query);
|
||||||
|
// очистка модели таблицы
|
||||||
|
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
|
||||||
|
model.setRowCount(0);
|
||||||
|
// заполнение модели таблицы данными из базы данных
|
||||||
|
while (resultSet.next()) {
|
||||||
|
int id = resultSet.getInt("id");
|
||||||
|
int fullname = resultSet.getInt("fullname");
|
||||||
|
int sex = resultSet.getInt("sex");
|
||||||
|
int address = resultSet.getInt("address");
|
||||||
|
int birthdate = resultSet.getInt("birthdate");
|
||||||
|
int passport_number = resultSet.getInt("passport_number");
|
||||||
|
|
||||||
|
Object[] row = {id, fullname, sex, address, birthdate, passport_number};
|
||||||
|
model.addRow(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
resultSet.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CloseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CloseButtonActionPerformed
|
||||||
|
int row = jTable1.getSelectedRow();
|
||||||
|
if (row >= 0) {
|
||||||
|
try {
|
||||||
|
int id = (int) jTable1.getModel().getValueAt(row, 0);
|
||||||
|
stmt.executeUpdate("DELETE FROM guests WHERE id=" + id);
|
||||||
|
refreshTable();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
JOptionPane.showMessageDialog(this, "Please select a guest to delete.");
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_CloseButtonActionPerformed
|
||||||
|
|
||||||
|
private void RefreshButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_RefreshButtonMouseClicked
|
||||||
|
refreshTable();
|
||||||
|
}//GEN-LAST:event_RefreshButtonMouseClicked
|
||||||
|
|
||||||
|
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
|
||||||
|
if (evt.getClickCount() == 2) { // обработка двойного клика
|
||||||
|
JTable target = (JTable)evt.getSource();
|
||||||
|
int row = target.getSelectedRow(); // получаем номер строки
|
||||||
|
Object[] rowData = new Object[target.getColumnCount()];
|
||||||
|
// получаем значения ячеек выбранной строки
|
||||||
|
for (int i = 0; i < target.getColumnCount(); i++) {
|
||||||
|
rowData[i] = target.getValueAt(row, i);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JFrame frame = new JFrame();
|
||||||
|
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
JPanel panel = new JPanel(new GridLayout(6, 2));
|
||||||
|
|
||||||
|
JTextField FullNameTextField = new JTextField();
|
||||||
|
JLabel FullNameLabel = new JLabel("Full Name: ");
|
||||||
|
FullNameTextField.setText(rowData[1].toString());
|
||||||
|
|
||||||
|
JTextField SexTextField = new JTextField();
|
||||||
|
JLabel SexLabel = new JLabel("Sex: ");
|
||||||
|
SexTextField.setText(rowData[2].toString());
|
||||||
|
|
||||||
|
JTextField AddressTextField = new JTextField();
|
||||||
|
JLabel AddressLabel = new JLabel("Address: ");
|
||||||
|
AddressTextField.setText(rowData[3].toString());
|
||||||
|
|
||||||
|
JTextField BirthdateTextField = new JTextField();
|
||||||
|
JLabel BirthdateLabel = new JLabel("Birthdate: ");
|
||||||
|
BirthdateTextField.setText(rowData[4].toString());
|
||||||
|
|
||||||
|
JTextField PassportNumberTextField = new JTextField();
|
||||||
|
JLabel PassportNumberLabel = new JLabel("Passport Number: ");
|
||||||
|
PassportNumberTextField.setText(rowData[5].toString());
|
||||||
|
|
||||||
|
panel.add(FullNameLabel);
|
||||||
|
panel.add(FullNameTextField);
|
||||||
|
panel.add(SexLabel);
|
||||||
|
panel.add(SexTextField);
|
||||||
|
panel.add(AddressLabel);
|
||||||
|
panel.add(AddressTextField);
|
||||||
|
panel.add(BirthdateLabel);
|
||||||
|
panel.add(BirthdateTextField);
|
||||||
|
panel.add(PassportNumberLabel);
|
||||||
|
panel.add(PassportNumberTextField);
|
||||||
|
|
||||||
|
JButton okButton = new JButton("Ок");
|
||||||
|
okButton.addActionListener(new ActionListener() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
// передаем значения ячеек в модель данных таблицы
|
||||||
|
try {
|
||||||
|
int id = (int) target.getModel().getValueAt(row, 0);
|
||||||
|
|
||||||
|
target.setValueAt(FullNameTextField.getText(), row, 1);
|
||||||
|
String FullName = FullNameTextField.getText();
|
||||||
|
|
||||||
|
target.setValueAt(SexTextField.getText(), row, 2);
|
||||||
|
String Sex = SexTextField.getText();
|
||||||
|
|
||||||
|
target.setValueAt(AddressTextField.getText(), row, 3);
|
||||||
|
String Address = (AddressTextField.getText());
|
||||||
|
|
||||||
|
target.setValueAt(BirthdateTextField.getText(), row, 4);
|
||||||
|
DateFormat format = new SimpleDateFormat("yyyy-mm-dd");
|
||||||
|
String dateString = BirthdateTextField.getText();
|
||||||
|
Date Birthdate = format.parse(dateString);
|
||||||
|
|
||||||
|
target.setValueAt(PassportNumberTextField.getText(), row, 5);
|
||||||
|
String PassportNumber = (PassportNumberTextField.getText());
|
||||||
|
stmt.executeUpdate("UPDATE guests SET fullname='" + FullName + "', sex='" + Sex + "', address='" + Address + "', birthdate='" + Birthdate + "', passport_number='" + PassportNumber + "' WHERE id=" + id);
|
||||||
|
frame.dispose(); // закрываем форму
|
||||||
|
} catch (SQLException | ParseException ev) {
|
||||||
|
ev.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
panel.add(okButton);
|
||||||
|
frame.add(panel);
|
||||||
|
frame.pack();
|
||||||
|
frame.setVisible(true);
|
||||||
|
|
||||||
|
// передаем значения ячеек в модель данных таблицы
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_jTable1MouseClicked
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param args the command line arguments
|
||||||
|
*/
|
||||||
|
|
||||||
|
public String str = new String();
|
||||||
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JButton AddButton;
|
||||||
|
private javax.swing.JButton CloseButton;
|
||||||
|
private javax.swing.JButton RefreshButton;
|
||||||
|
private javax.swing.JButton UpdateButton;
|
||||||
|
private javax.swing.JScrollPane jScrollPane1;
|
||||||
|
private javax.swing.JTable jTable1;
|
||||||
|
// End of variables declaration//GEN-END:variables
|
||||||
|
}
|
82
src/javaapplication1/MainFrame.form
Normal file
82
src/javaapplication1/MainFrame.form
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
|
||||||
|
<NonVisualComponents>
|
||||||
|
<Menu class="javax.swing.JMenuBar" name="jMenuBar1">
|
||||||
|
<SubComponents>
|
||||||
|
<Menu class="javax.swing.JMenu" name="jMenu1">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Form1"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jMenu1MouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Menu>
|
||||||
|
<Menu class="javax.swing.JMenu" name="jMenu2">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Form2"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jMenu2MouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Menu>
|
||||||
|
<Menu class="javax.swing.JMenu" name="jMenu3">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Form3"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jMenu3MouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Menu>
|
||||||
|
<Menu class="javax.swing.JMenu" name="jMenu4">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Form4"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jMenu4MouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Menu>
|
||||||
|
<Menu class="javax.swing.JMenu" name="jMenu5">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" value="Form5"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jMenu5MouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Menu>
|
||||||
|
</SubComponents>
|
||||||
|
</Menu>
|
||||||
|
</NonVisualComponents>
|
||||||
|
<Properties>
|
||||||
|
<Property name="defaultCloseOperation" type="int" value="3"/>
|
||||||
|
</Properties>
|
||||||
|
<SyntheticProperties>
|
||||||
|
<SyntheticProperty name="menuBar" type="java.lang.String" value="jMenuBar1"/>
|
||||||
|
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||||
|
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
|
||||||
|
</SyntheticProperties>
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||||
|
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<EmptySpace min="0" pref="373" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<EmptySpace min="0" pref="277" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
</Form>
|
234
src/javaapplication1/MainFrame.java
Normal file
234
src/javaapplication1/MainFrame.java
Normal file
@ -0,0 +1,234 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
|
||||||
|
*/
|
||||||
|
package javaapplication1;
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.event.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author oleg
|
||||||
|
*/
|
||||||
|
public class MainFrame extends javax.swing.JFrame {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates new form MainFrame
|
||||||
|
*/
|
||||||
|
public MainFrame() {
|
||||||
|
initComponents();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called from within the constructor to initialize the form.
|
||||||
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
|
* regenerated by the Form Editor.
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
|
private void initComponents() {
|
||||||
|
|
||||||
|
jMenuBar1 = new javax.swing.JMenuBar();
|
||||||
|
jMenu1 = new javax.swing.JMenu();
|
||||||
|
jMenu2 = new javax.swing.JMenu();
|
||||||
|
jMenu3 = new javax.swing.JMenu();
|
||||||
|
jMenu4 = new javax.swing.JMenu();
|
||||||
|
jMenu5 = new javax.swing.JMenu();
|
||||||
|
|
||||||
|
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
||||||
|
|
||||||
|
jMenu1.setLabel("Form1");
|
||||||
|
jMenu1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
jMenu1MouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jMenuBar1.add(jMenu1);
|
||||||
|
|
||||||
|
jMenu2.setLabel("Form2");
|
||||||
|
jMenu2.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
jMenu2MouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jMenuBar1.add(jMenu2);
|
||||||
|
|
||||||
|
jMenu3.setLabel("Form3");
|
||||||
|
jMenu3.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
jMenu3MouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jMenuBar1.add(jMenu3);
|
||||||
|
|
||||||
|
jMenu4.setLabel("Form4");
|
||||||
|
jMenu4.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
jMenu4MouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jMenuBar1.add(jMenu4);
|
||||||
|
|
||||||
|
jMenu5.setText("Form5");
|
||||||
|
jMenu5.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
jMenu5MouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jMenuBar1.add(jMenu5);
|
||||||
|
|
||||||
|
setJMenuBar(jMenuBar1);
|
||||||
|
|
||||||
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||||
|
getContentPane().setLayout(layout);
|
||||||
|
layout.setHorizontalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGap(0, 373, Short.MAX_VALUE)
|
||||||
|
);
|
||||||
|
layout.setVerticalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGap(0, 277, Short.MAX_VALUE)
|
||||||
|
);
|
||||||
|
|
||||||
|
pack();
|
||||||
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
private void jMenu1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jMenu1MouseClicked
|
||||||
|
RoomsPanel form1 = new RoomsPanel();
|
||||||
|
form1.setVisible(true);
|
||||||
|
form1.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
|
||||||
|
form1.addWindowListener(new WindowAdapter() {
|
||||||
|
@Override
|
||||||
|
public void windowClosing(WindowEvent e) {
|
||||||
|
int confirm = JOptionPane.showOptionDialog(form1,
|
||||||
|
"Close?", "Exit", JOptionPane.YES_NO_OPTION,
|
||||||
|
JOptionPane.QUESTION_MESSAGE, null, null, null);
|
||||||
|
if (confirm == JOptionPane.YES_OPTION) {
|
||||||
|
//System.exit(1);
|
||||||
|
form1.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}//GEN-LAST:event_jMenu1MouseClicked
|
||||||
|
|
||||||
|
private void jMenu2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jMenu2MouseClicked
|
||||||
|
GuestsPanel form2 = new GuestsPanel();
|
||||||
|
form2.setVisible(true);
|
||||||
|
form2.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
|
||||||
|
form2.addWindowListener(new WindowAdapter() {
|
||||||
|
@Override
|
||||||
|
public void windowClosing(WindowEvent e) {
|
||||||
|
int confirm = JOptionPane.showOptionDialog(form2,
|
||||||
|
"Close?", "Exit", JOptionPane.YES_NO_OPTION,
|
||||||
|
JOptionPane.QUESTION_MESSAGE, null, null, null);
|
||||||
|
if (confirm == JOptionPane.YES_OPTION) {
|
||||||
|
//System.exit(1);
|
||||||
|
form2.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}//GEN-LAST:event_jMenu2MouseClicked
|
||||||
|
|
||||||
|
private void jMenu3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jMenu3MouseClicked
|
||||||
|
ServicePanel form3 = new ServicePanel();
|
||||||
|
form3.setVisible(true);
|
||||||
|
form3.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
|
||||||
|
form3.addWindowListener(new WindowAdapter() {
|
||||||
|
@Override
|
||||||
|
public void windowClosing(WindowEvent e) {
|
||||||
|
int confirm = JOptionPane.showOptionDialog(form3,
|
||||||
|
"Close?", "Exit", JOptionPane.YES_NO_OPTION,
|
||||||
|
JOptionPane.QUESTION_MESSAGE, null, null, null);
|
||||||
|
if (confirm == JOptionPane.YES_OPTION) {
|
||||||
|
//System.exit(1);
|
||||||
|
form3.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}//GEN-LAST:event_jMenu3MouseClicked
|
||||||
|
|
||||||
|
private void jMenu4MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jMenu4MouseClicked
|
||||||
|
/*
|
||||||
|
GuestToRoom form4 = new GuestToRoom();
|
||||||
|
form4.setVisible(true);
|
||||||
|
form4.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
|
||||||
|
form4.addWindowListener(new WindowAdapter() {
|
||||||
|
@Override
|
||||||
|
public void windowClosing(WindowEvent e) {
|
||||||
|
int confirm = JOptionPane.showOptionDialog(form4,
|
||||||
|
"Close?", "Exit", JOptionPane.YES_NO_OPTION,
|
||||||
|
JOptionPane.QUESTION_MESSAGE, null, null, null);
|
||||||
|
if (confirm == JOptionPane.YES_OPTION) {
|
||||||
|
//System.exit(1);
|
||||||
|
form4.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
}//GEN-LAST:event_jMenu4MouseClicked
|
||||||
|
|
||||||
|
private void jMenu5MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jMenu5MouseClicked
|
||||||
|
SettlementPanel form5 = new SettlementPanel();
|
||||||
|
form5.setVisible(true);
|
||||||
|
form5.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
|
||||||
|
form5.addWindowListener(new WindowAdapter() {
|
||||||
|
@Override
|
||||||
|
public void windowClosing(WindowEvent e) {
|
||||||
|
int confirm = JOptionPane.showOptionDialog(form5,
|
||||||
|
"Close?", "Exit", JOptionPane.YES_NO_OPTION,
|
||||||
|
JOptionPane.QUESTION_MESSAGE, null, null, null);
|
||||||
|
if (confirm == JOptionPane.YES_OPTION) {
|
||||||
|
//System.exit(1);
|
||||||
|
form5.dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}//GEN-LAST:event_jMenu5MouseClicked
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param args the command line arguments
|
||||||
|
*/
|
||||||
|
public static void main(String args[]) {
|
||||||
|
/* Set the Nimbus look and feel */
|
||||||
|
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
|
||||||
|
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
|
||||||
|
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
|
||||||
|
*/
|
||||||
|
try {
|
||||||
|
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
|
||||||
|
if ("Nimbus".equals(info.getName())) {
|
||||||
|
javax.swing.UIManager.setLookAndFeel(info.getClassName());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (ClassNotFoundException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (InstantiationException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (IllegalAccessException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(MainFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
}
|
||||||
|
//</editor-fold>
|
||||||
|
|
||||||
|
/* Create and display the form */
|
||||||
|
java.awt.EventQueue.invokeLater(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
new MainFrame().setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JMenu jMenu1;
|
||||||
|
private javax.swing.JMenu jMenu2;
|
||||||
|
private javax.swing.JMenu jMenu3;
|
||||||
|
private javax.swing.JMenu jMenu4;
|
||||||
|
private javax.swing.JMenu jMenu5;
|
||||||
|
private javax.swing.JMenuBar jMenuBar1;
|
||||||
|
// End of variables declaration//GEN-END:variables
|
||||||
|
}
|
172
src/javaapplication1/RoomsPanel.form
Normal file
172
src/javaapplication1/RoomsPanel.form
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
|
||||||
|
<Properties>
|
||||||
|
<Property name="defaultCloseOperation" type="int" value="3"/>
|
||||||
|
</Properties>
|
||||||
|
<SyntheticProperties>
|
||||||
|
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||||
|
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
|
||||||
|
</SyntheticProperties>
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||||
|
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" attributes="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jScrollPane1" pref="653" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace min="-2" pref="65" max="-2" attributes="0"/>
|
||||||
|
<Component id="AddButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
|
||||||
|
<Component id="UpdateButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="70" max="-2" attributes="0"/>
|
||||||
|
<Component id="RefreshButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
|
||||||
|
<Component id="CloseButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jScrollPane1" min="-2" pref="302" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="27" max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
|
<Component id="AddButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="UpdateButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="CloseButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="RefreshButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace pref="14" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JTable" name="jTable1">
|
||||||
|
<Properties>
|
||||||
|
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||||
|
<Table columnCount="7" rowCount="0">
|
||||||
|
<Column editable="true" title="id" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="room_num" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="floor" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="number_of_places" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="nulloccupied_places" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="room_price_per_day" type="java.lang.Integer"/>
|
||||||
|
<Column editable="false" title="Guest" type="java.lang.Object"/>
|
||||||
|
</Table>
|
||||||
|
</Property>
|
||||||
|
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||||
|
<TableColumnModel selectionModel="0">
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
</TableColumnModel>
|
||||||
|
</Property>
|
||||||
|
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
|
||||||
|
<TableHeader reorderingAllowed="true" resizingAllowed="true"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTable1MouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
<Component class="javax.swing.JButton" name="AddButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Add"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="AddButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="UpdateButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Update"/>
|
||||||
|
</Properties>
|
||||||
|
<AccessibilityProperties>
|
||||||
|
<Property name="AccessibleContext.accessibleName" type="java.lang.String" value="Edit"/>
|
||||||
|
</AccessibilityProperties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="UpdateButtonMouseClicked"/>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="UpdateButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="CloseButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Delete"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="CloseButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="RefreshButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Refresh"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="RefreshButtonMouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Form>
|
438
src/javaapplication1/RoomsPanel.java
Normal file
438
src/javaapplication1/RoomsPanel.java
Normal file
@ -0,0 +1,438 @@
|
|||||||
|
package javaapplication1;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.awt.event.WindowAdapter;
|
||||||
|
import java.awt.event.WindowEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author oleg
|
||||||
|
*/
|
||||||
|
public class RoomsPanel extends javax.swing.JFrame {
|
||||||
|
private Statement stmt;
|
||||||
|
private Connection conn;
|
||||||
|
public int nameid;
|
||||||
|
/**
|
||||||
|
* Creates new form NewJFrame
|
||||||
|
*/
|
||||||
|
public RoomsPanel() {
|
||||||
|
initComponents();
|
||||||
|
try {
|
||||||
|
conn = DBConnection.getConnection();
|
||||||
|
stmt = conn.createStatement();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
JPopupMenu popupMenu = new JPopupMenu();
|
||||||
|
JMenuItem freeRoomMenuItem = new JMenuItem("Освободить комнату");
|
||||||
|
popupMenu.add(freeRoomMenuItem);
|
||||||
|
jTable1.setComponentPopupMenu(popupMenu);
|
||||||
|
freeRoomMenuItem.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent ev) {
|
||||||
|
// Получаем выбранную строку
|
||||||
|
// int selectedRow = jTable1.getSelectedRow();
|
||||||
|
// int roomId = (int) jTable1.getValueAt(selectedRow, 0);
|
||||||
|
// try {
|
||||||
|
// String sql = "DELETE FROM settlement WHERE roomid = " + roomId;
|
||||||
|
// stmt.executeUpdate(sql);
|
||||||
|
// refreshTable();
|
||||||
|
// } catch (SQLException ex) {
|
||||||
|
// ex.printStackTrace();
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
JMenuItem populateRoomMenuItem = new JMenuItem("Заселить комнату");
|
||||||
|
popupMenu.add(populateRoomMenuItem);
|
||||||
|
jTable1.setComponentPopupMenu(popupMenu);
|
||||||
|
populateRoomMenuItem.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent ev) {
|
||||||
|
// Получаем выбранную строку
|
||||||
|
|
||||||
|
int selectedRow = jTable1.getSelectedRow();
|
||||||
|
int roomid = (int) jTable1.getValueAt(selectedRow, 0);
|
||||||
|
|
||||||
|
GuestToRoom form4 = new GuestToRoom(roomid);
|
||||||
|
form4.setVisible(true);
|
||||||
|
form4.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
|
||||||
|
|
||||||
|
/*
|
||||||
|
try {
|
||||||
|
String sql = "DELETE FROM settlement WHERE roomid = " + roomId;
|
||||||
|
stmt.executeUpdate(sql);
|
||||||
|
refreshTable();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
refreshTable();
|
||||||
|
setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called from within the constructor to initialize the form.
|
||||||
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
|
* regenerated by the Form Editor.
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
|
private void initComponents() {
|
||||||
|
|
||||||
|
jScrollPane1 = new javax.swing.JScrollPane();
|
||||||
|
jTable1 = new javax.swing.JTable();
|
||||||
|
AddButton = new javax.swing.JButton();
|
||||||
|
UpdateButton = new javax.swing.JButton();
|
||||||
|
CloseButton = new javax.swing.JButton();
|
||||||
|
RefreshButton = new javax.swing.JButton();
|
||||||
|
|
||||||
|
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
||||||
|
|
||||||
|
jTable1.setModel(new javax.swing.table.DefaultTableModel(
|
||||||
|
new Object [][] {
|
||||||
|
|
||||||
|
},
|
||||||
|
new String [] {
|
||||||
|
"id", "room_num", "floor", "number_of_places", "nulloccupied_places", "room_price_per_day", "Guest"
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
Class[] types = new Class [] {
|
||||||
|
java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Object.class
|
||||||
|
};
|
||||||
|
boolean[] canEdit = new boolean [] {
|
||||||
|
true, true, true, true, true, true, false
|
||||||
|
};
|
||||||
|
|
||||||
|
public Class getColumnClass(int columnIndex) {
|
||||||
|
return types [columnIndex];
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
||||||
|
return canEdit [columnIndex];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
jTable1MouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jScrollPane1.setViewportView(jTable1);
|
||||||
|
|
||||||
|
AddButton.setLabel("Add");
|
||||||
|
AddButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
AddButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
UpdateButton.setLabel("Update");
|
||||||
|
UpdateButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
UpdateButtonMouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
UpdateButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
UpdateButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
CloseButton.setLabel("Delete");
|
||||||
|
CloseButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
CloseButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
RefreshButton.setLabel("Refresh");
|
||||||
|
RefreshButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
RefreshButtonMouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||||
|
getContentPane().setLayout(layout);
|
||||||
|
layout.setHorizontalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 653, Short.MAX_VALUE))
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addGap(65, 65, 65)
|
||||||
|
.addComponent(AddButton)
|
||||||
|
.addGap(71, 71, 71)
|
||||||
|
.addComponent(UpdateButton)
|
||||||
|
.addGap(70, 70, 70)
|
||||||
|
.addComponent(RefreshButton)
|
||||||
|
.addGap(71, 71, 71)
|
||||||
|
.addComponent(CloseButton)
|
||||||
|
.addGap(0, 0, Short.MAX_VALUE)))
|
||||||
|
.addContainerGap())
|
||||||
|
);
|
||||||
|
layout.setVerticalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 302, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addGap(27, 27, 27)
|
||||||
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
|
.addComponent(AddButton)
|
||||||
|
.addComponent(UpdateButton)
|
||||||
|
.addComponent(CloseButton)
|
||||||
|
.addComponent(RefreshButton))
|
||||||
|
.addContainerGap(14, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
|
||||||
|
UpdateButton.getAccessibleContext().setAccessibleName("Edit");
|
||||||
|
|
||||||
|
pack();
|
||||||
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
private void CloseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CloseButtonActionPerformed
|
||||||
|
int row = jTable1.getSelectedRow();
|
||||||
|
if (row >= 0) {
|
||||||
|
try {
|
||||||
|
int id = (int) jTable1.getModel().getValueAt(row, 0);
|
||||||
|
stmt.executeUpdate("DELETE FROM room WHERE id=" + id);
|
||||||
|
refreshTable();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
JOptionPane.showMessageDialog(this, "Please select a room to delete.");
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_CloseButtonActionPerformed
|
||||||
|
|
||||||
|
private void AddButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddButtonActionPerformed
|
||||||
|
int roomNum = Integer.parseInt(JOptionPane.showInputDialog("Enter room number:"));
|
||||||
|
int floor = Integer.parseInt(JOptionPane.showInputDialog("Enter floor:"));
|
||||||
|
int numberOfPlaces = Integer.parseInt(JOptionPane.showInputDialog("Enter number of places:"));
|
||||||
|
int occupiedPlaces = Integer.parseInt(JOptionPane.showInputDialog("Enter occupied places:"));
|
||||||
|
int roomPricePerDay = Integer.parseInt(JOptionPane.showInputDialog("Enter room price per day:"));
|
||||||
|
|
||||||
|
try {
|
||||||
|
stmt.executeUpdate("INSERT INTO room (room_num, floor, number_of_places, occupied_places, room_price_per_day) VALUES (" + roomNum + ", " + floor + ", " + numberOfPlaces + ", " + occupiedPlaces + ", " + roomPricePerDay + ")");
|
||||||
|
refreshTable();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
// обновление таблицы
|
||||||
|
updateTable();
|
||||||
|
refreshTable();
|
||||||
|
|
||||||
|
}//GEN-LAST:event_AddButtonActionPerformed
|
||||||
|
|
||||||
|
private void RefreshButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_RefreshButtonMouseClicked
|
||||||
|
refreshTable();
|
||||||
|
}//GEN-LAST:event_RefreshButtonMouseClicked
|
||||||
|
|
||||||
|
private void UpdateButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_UpdateButtonMouseClicked
|
||||||
|
updateTable();
|
||||||
|
}//GEN-LAST:event_UpdateButtonMouseClicked
|
||||||
|
|
||||||
|
private void UpdateButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_UpdateButtonActionPerformed
|
||||||
|
// TODO add your handling code here:
|
||||||
|
}//GEN-LAST:event_UpdateButtonActionPerformed
|
||||||
|
|
||||||
|
public String str = new String();
|
||||||
|
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
|
||||||
|
|
||||||
|
// TODO add your handling code here:
|
||||||
|
// TODO add your handling code here:
|
||||||
|
if (evt.getClickCount() == 2) { // обработка двойного клика
|
||||||
|
JTable target = (JTable)evt.getSource();
|
||||||
|
int row = target.getSelectedRow(); // получаем номер строки
|
||||||
|
Object[] rowData = new Object[target.getColumnCount()];
|
||||||
|
// получаем значения ячеек выбранной строки
|
||||||
|
for (int i = 0; i < target.getColumnCount(); i++) {
|
||||||
|
rowData[i] = target.getValueAt(row, i);
|
||||||
|
}
|
||||||
|
// создаем отрывшуюся форму и передаем значения ячеек в текстовые поля
|
||||||
|
// NewRoomEdit editframe = new NewRoomEdit();
|
||||||
|
// editframe.setVisible(true);
|
||||||
|
// editframe.jTextField1.setText(rowData[1].toString());
|
||||||
|
// target.setValueAt(str, row, 1);
|
||||||
|
// target.setValueAt(str, row, 1);
|
||||||
|
|
||||||
|
|
||||||
|
JFrame frame = new JFrame();
|
||||||
|
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
JPanel panel = new JPanel(new GridLayout(6, 2));
|
||||||
|
|
||||||
|
JTextField RoomNumTextField = new JTextField();
|
||||||
|
JLabel RoomNumLabel = new JLabel("Room Number: ");
|
||||||
|
RoomNumTextField.setText(rowData[1].toString());
|
||||||
|
|
||||||
|
JTextField FloorNumTextField = new JTextField();
|
||||||
|
JLabel FloorNumLabel = new JLabel("Floor Number: ");
|
||||||
|
FloorNumTextField.setText(rowData[2].toString());
|
||||||
|
|
||||||
|
JTextField NumberOfPlacesTextField = new JTextField();
|
||||||
|
JLabel NumberOfPlacesLabel = new JLabel("NumberOfPlaces: ");
|
||||||
|
NumberOfPlacesTextField.setText(rowData[3].toString());
|
||||||
|
|
||||||
|
JTextField OccupiedPlacesTextField = new JTextField();
|
||||||
|
JLabel OccupiedPlacesLabel = new JLabel("OccupiedPlaces: ");
|
||||||
|
OccupiedPlacesTextField.setText(rowData[4].toString());
|
||||||
|
|
||||||
|
JTextField RoomPricePerDayTextField = new JTextField();
|
||||||
|
JLabel RoomPricePerDayLabel = new JLabel("RoomPricePerDay: ");
|
||||||
|
RoomPricePerDayTextField.setText(rowData[5].toString());
|
||||||
|
|
||||||
|
panel.add(RoomNumLabel);
|
||||||
|
panel.add(RoomNumTextField);
|
||||||
|
panel.add(FloorNumLabel);
|
||||||
|
panel.add(FloorNumTextField);
|
||||||
|
panel.add(NumberOfPlacesLabel);
|
||||||
|
panel.add(NumberOfPlacesTextField);
|
||||||
|
panel.add(OccupiedPlacesLabel);
|
||||||
|
panel.add(OccupiedPlacesTextField);
|
||||||
|
panel.add(RoomPricePerDayLabel);
|
||||||
|
panel.add(RoomPricePerDayTextField);
|
||||||
|
|
||||||
|
JButton okButton = new JButton("Ок");
|
||||||
|
okButton.addActionListener(new ActionListener() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
// передаем значения ячеек в модель данных таблицы
|
||||||
|
try {
|
||||||
|
int id = (int) target.getModel().getValueAt(row, 0);
|
||||||
|
target.setValueAt(RoomNumTextField.getText(), row, 1);
|
||||||
|
int RoomNum = Integer.parseInt(RoomNumTextField.getText());
|
||||||
|
target.setValueAt(FloorNumTextField.getText(), row, 2);
|
||||||
|
int FloorNum = Integer.parseInt(FloorNumTextField.getText());
|
||||||
|
target.setValueAt(NumberOfPlacesTextField.getText(), row, 3);
|
||||||
|
int NumberOfPlaces = Integer.parseInt(NumberOfPlacesTextField.getText());
|
||||||
|
target.setValueAt(OccupiedPlacesTextField.getText(), row, 4);
|
||||||
|
int OccupiedPlaces = Integer.parseInt(OccupiedPlacesTextField.getText());
|
||||||
|
target.setValueAt(RoomPricePerDayTextField.getText(), row, 5);
|
||||||
|
int RoomPricePerDay = Integer.parseInt(RoomPricePerDayTextField.getText());
|
||||||
|
stmt.executeUpdate("UPDATE room SET room_num=" + RoomNum + ", floor=" + FloorNum + ", number_of_places=" + NumberOfPlaces + ", occupied_places=" + OccupiedPlaces + ", room_price_per_day=" + RoomPricePerDay + " WHERE id=" + id);
|
||||||
|
frame.dispose(); // закрываем форму
|
||||||
|
} catch (SQLException ev) {
|
||||||
|
ev.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
panel.add(okButton);
|
||||||
|
frame.add(panel);
|
||||||
|
frame.pack();
|
||||||
|
frame.setVisible(true);
|
||||||
|
|
||||||
|
// передаем значения ячеек в модель данных таблицы
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_jTable1MouseClicked
|
||||||
|
|
||||||
|
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
// TODO add your handling code here:
|
||||||
|
}
|
||||||
|
|
||||||
|
private void refreshTable() {
|
||||||
|
|
||||||
|
try {
|
||||||
|
// ResultSet rs = statement.executeQuery("SELECT * FROM room ORDER BY id ASC;");
|
||||||
|
// ResultSet rs1 = statement.executeQuery();
|
||||||
|
ResultSet rs = stmt.executeQuery("SELECT room.*, CASE WHEN settlement.guestid IS NULL THEN 'free' ELSE guests.fullname END AS fullname FROM room LEFT JOIN settlement ON room.id = settlement.roomid LEFT JOIN guests ON settlement.guestid = guests.id;");
|
||||||
|
DefaultTableModel model = new DefaultTableModel(new Object[]{"ID", "Room_Number", "Floor", "Number of places", "Occupied places", "Price per day", "Guest"}, 0){
|
||||||
|
@Override
|
||||||
|
public boolean isCellEditable(int i, int i1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
while (rs.next()) {
|
||||||
|
model.addRow(new Object[]{rs.getInt("id"), rs.getInt("room_num"), rs.getInt("floor"), rs.getInt("number_of_places"), rs.getInt("occupied_places"), rs.getInt("room_price_per_day"), rs.getString("fullname")});
|
||||||
|
}
|
||||||
|
jTable1.setModel(model);
|
||||||
|
/*
|
||||||
|
JPopupMenu popupMenu = new JPopupMenu();
|
||||||
|
JMenuItem freeRoomMenuItem = new JMenuItem("Освободить комнату");
|
||||||
|
popupMenu.add(freeRoomMenuItem);
|
||||||
|
jTable1.setComponentPopupMenu(popupMenu);
|
||||||
|
freeRoomMenuItem.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent ev) {
|
||||||
|
|
||||||
|
// Получаем выбранную строку
|
||||||
|
int selectedRow = jTable1.getSelectedRow();
|
||||||
|
int roomId = (int) jTable1.getValueAt(selectedRow, 0);
|
||||||
|
try {
|
||||||
|
Connection conn = DBConnection.getConnection();
|
||||||
|
Statement stmt = conn.createStatement();
|
||||||
|
String sql = "DELETE FROM settlement WHERE roomid = " + roomId;
|
||||||
|
stmt.executeUpdate(sql);
|
||||||
|
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateTable() {
|
||||||
|
try {
|
||||||
|
String query = "SELECT * FROM room";
|
||||||
|
ResultSet resultSet = stmt.executeQuery(query);
|
||||||
|
|
||||||
|
// очистка модели таблицы
|
||||||
|
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
|
||||||
|
model.setRowCount(0);
|
||||||
|
|
||||||
|
// заполнение модели таблицы данными из базы данных
|
||||||
|
while (resultSet.next()) {
|
||||||
|
int id = resultSet.getInt("id");
|
||||||
|
int room_num = resultSet.getInt("room_num");
|
||||||
|
int floor = resultSet.getInt("floor");
|
||||||
|
int numberOfPlaces = resultSet.getInt("number_of_places");
|
||||||
|
int occupiedPlaces = resultSet.getInt("occupied_places");
|
||||||
|
int pricePerDay = resultSet.getInt("room_price_per_day");
|
||||||
|
|
||||||
|
Object[] row = {id, room_num, floor, numberOfPlaces, occupiedPlaces, pricePerDay};
|
||||||
|
model.addRow(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
//resultSet.close();
|
||||||
|
//statement.close();
|
||||||
|
//connection.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @param args the command line arguments
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JButton AddButton;
|
||||||
|
private javax.swing.JButton CloseButton;
|
||||||
|
private javax.swing.JButton RefreshButton;
|
||||||
|
private javax.swing.JButton UpdateButton;
|
||||||
|
private javax.swing.JScrollPane jScrollPane1;
|
||||||
|
private javax.swing.JTable jTable1;
|
||||||
|
// End of variables declaration//GEN-END:variables
|
||||||
|
}
|
147
src/javaapplication1/ServiceListPanel.form
Normal file
147
src/javaapplication1/ServiceListPanel.form
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
|
||||||
|
<Properties>
|
||||||
|
<Property name="defaultCloseOperation" type="int" value="3"/>
|
||||||
|
</Properties>
|
||||||
|
<SyntheticProperties>
|
||||||
|
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||||
|
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
|
||||||
|
</SyntheticProperties>
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||||
|
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jScrollPane1" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace min="-2" pref="65" max="-2" attributes="0"/>
|
||||||
|
<Component id="AddButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
|
||||||
|
<Component id="UpdateButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="70" max="-2" attributes="0"/>
|
||||||
|
<Component id="RefreshButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
|
||||||
|
<Component id="CloseButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jScrollPane1" min="-2" pref="302" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="27" max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
|
<Component id="AddButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="UpdateButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="CloseButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="RefreshButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JButton" name="UpdateButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Update"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="UpdateButtonMouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="CloseButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Delete"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="CloseButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="RefreshButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Refresh"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="RefreshButtonMouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JTable" name="jTable1">
|
||||||
|
<Properties>
|
||||||
|
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||||
|
<Table columnCount="4" rowCount="0">
|
||||||
|
<Column editable="true" title="id" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="number_of_services" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="guestid" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="serviceid" type="java.lang.Integer"/>
|
||||||
|
</Table>
|
||||||
|
</Property>
|
||||||
|
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||||
|
<TableColumnModel selectionModel="0">
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
</TableColumnModel>
|
||||||
|
</Property>
|
||||||
|
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
|
||||||
|
<TableHeader reorderingAllowed="true" resizingAllowed="true"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
<Component class="javax.swing.JButton" name="AddButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Add"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="AddButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Form>
|
263
src/javaapplication1/ServiceListPanel.java
Normal file
263
src/javaapplication1/ServiceListPanel.java
Normal file
@ -0,0 +1,263 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
|
||||||
|
*/
|
||||||
|
package javaapplication1;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.awt.event.WindowAdapter;
|
||||||
|
import java.awt.event.WindowEvent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author oleg
|
||||||
|
*/
|
||||||
|
public class ServiceListPanel extends javax.swing.JFrame {
|
||||||
|
private Statement stmt;
|
||||||
|
private Connection conn;
|
||||||
|
/**
|
||||||
|
* Creates new form ServiceListPanel
|
||||||
|
*/
|
||||||
|
public ServiceListPanel() {
|
||||||
|
initComponents();
|
||||||
|
try {
|
||||||
|
conn = DBConnection.getConnection();
|
||||||
|
stmt = conn.createStatement();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
refreshTable();
|
||||||
|
setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called from within the constructor to initialize the form.
|
||||||
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
|
* regenerated by the Form Editor.
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
|
private void initComponents() {
|
||||||
|
|
||||||
|
UpdateButton = new javax.swing.JButton();
|
||||||
|
CloseButton = new javax.swing.JButton();
|
||||||
|
RefreshButton = new javax.swing.JButton();
|
||||||
|
jScrollPane1 = new javax.swing.JScrollPane();
|
||||||
|
jTable1 = new javax.swing.JTable();
|
||||||
|
AddButton = new javax.swing.JButton();
|
||||||
|
|
||||||
|
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
||||||
|
|
||||||
|
UpdateButton.setLabel("Update");
|
||||||
|
UpdateButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
UpdateButtonMouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
CloseButton.setLabel("Delete");
|
||||||
|
CloseButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
CloseButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
RefreshButton.setLabel("Refresh");
|
||||||
|
RefreshButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
RefreshButtonMouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
jTable1.setModel(new javax.swing.table.DefaultTableModel(
|
||||||
|
new Object [][] {
|
||||||
|
|
||||||
|
},
|
||||||
|
new String [] {
|
||||||
|
"id", "number_of_services", "guestid", "serviceid"
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
Class[] types = new Class [] {
|
||||||
|
java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class
|
||||||
|
};
|
||||||
|
|
||||||
|
public Class getColumnClass(int columnIndex) {
|
||||||
|
return types [columnIndex];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jScrollPane1.setViewportView(jTable1);
|
||||||
|
|
||||||
|
AddButton.setLabel("Add");
|
||||||
|
AddButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
AddButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||||
|
getContentPane().setLayout(layout);
|
||||||
|
layout.setHorizontalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(jScrollPane1))
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addGap(65, 65, 65)
|
||||||
|
.addComponent(AddButton)
|
||||||
|
.addGap(71, 71, 71)
|
||||||
|
.addComponent(UpdateButton)
|
||||||
|
.addGap(70, 70, 70)
|
||||||
|
.addComponent(RefreshButton)
|
||||||
|
.addGap(71, 71, 71)
|
||||||
|
.addComponent(CloseButton)
|
||||||
|
.addGap(0, 0, Short.MAX_VALUE)))
|
||||||
|
.addContainerGap())
|
||||||
|
);
|
||||||
|
layout.setVerticalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 302, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addGap(27, 27, 27)
|
||||||
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
|
.addComponent(AddButton)
|
||||||
|
.addComponent(UpdateButton)
|
||||||
|
.addComponent(CloseButton)
|
||||||
|
.addComponent(RefreshButton))
|
||||||
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
|
||||||
|
pack();
|
||||||
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
private void UpdateButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_UpdateButtonMouseClicked
|
||||||
|
updateTable();
|
||||||
|
}//GEN-LAST:event_UpdateButtonMouseClicked
|
||||||
|
|
||||||
|
private void refreshTable() {
|
||||||
|
try {
|
||||||
|
Connection connection = DBConnection.getConnection();
|
||||||
|
Statement statement = connection.createStatement();
|
||||||
|
ResultSet rs = statement.executeQuery("SELECT * FROM service_list ORDER BY id ASC;");
|
||||||
|
DefaultTableModel model = new DefaultTableModel(new Object[]{"ID", "number_of_services", "guestid", "serviceid"}, 0);
|
||||||
|
while (rs.next()) {
|
||||||
|
model.addRow(new Object[]{rs.getInt("id"), rs.getString("number_of_services"), rs.getInt("guestid"), rs.getInt("serviceid")});
|
||||||
|
}
|
||||||
|
jTable1.setModel(model);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateTable() {
|
||||||
|
try {
|
||||||
|
Connection connection = DBConnection.getConnection();
|
||||||
|
String query = "SELECT * FROM service_list";
|
||||||
|
Statement statement = connection.createStatement();
|
||||||
|
ResultSet resultSet = statement.executeQuery(query);
|
||||||
|
|
||||||
|
// очистка модели таблицы
|
||||||
|
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
|
||||||
|
model.setRowCount(0);
|
||||||
|
|
||||||
|
// заполнение модели таблицы данными из базы данных
|
||||||
|
while (resultSet.next()) {
|
||||||
|
int id = resultSet.getInt("id");
|
||||||
|
int numberOfServices = resultSet.getInt("number_of_services");
|
||||||
|
int guestid = resultSet.getInt("guestid");
|
||||||
|
int serviceid = resultSet.getInt("serviceid");
|
||||||
|
|
||||||
|
Object[] row = {id, numberOfServices, guestid, serviceid};
|
||||||
|
model.addRow(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
resultSet.close();
|
||||||
|
statement.close();
|
||||||
|
connection.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void CloseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CloseButtonActionPerformed
|
||||||
|
try {
|
||||||
|
stmt.close();
|
||||||
|
conn.close();
|
||||||
|
} catch (SQLException e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
dispose(); // закрыть только эту форму
|
||||||
|
}//GEN-LAST:event_CloseButtonActionPerformed
|
||||||
|
|
||||||
|
private void RefreshButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_RefreshButtonMouseClicked
|
||||||
|
refreshTable();
|
||||||
|
}//GEN-LAST:event_RefreshButtonMouseClicked
|
||||||
|
|
||||||
|
private void AddButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddButtonActionPerformed
|
||||||
|
int number_of_services = Integer.parseInt(JOptionPane.showInputDialog("Enter service number:"));
|
||||||
|
int guestid = Integer.parseInt(JOptionPane.showInputDialog("Enter floor:"));
|
||||||
|
int serviceid = Integer.parseInt(JOptionPane.showInputDialog("Enter floor:"));
|
||||||
|
|
||||||
|
try {
|
||||||
|
stmt.executeUpdate("INSERT INTO service_list (service_name, service_price) VALUES (" + number_of_services + ", " + guestid + ", " + serviceid + ")");
|
||||||
|
refreshTable();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
// обновление таблицы
|
||||||
|
updateTable();
|
||||||
|
refreshTable();
|
||||||
|
}//GEN-LAST:event_AddButtonActionPerformed
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param args the command line arguments
|
||||||
|
*/
|
||||||
|
public static void main(String args[]) {
|
||||||
|
/* Set the Nimbus look and feel */
|
||||||
|
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
|
||||||
|
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
|
||||||
|
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
|
||||||
|
*/
|
||||||
|
try {
|
||||||
|
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
|
||||||
|
if ("Nimbus".equals(info.getName())) {
|
||||||
|
javax.swing.UIManager.setLookAndFeel(info.getClassName());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (ClassNotFoundException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(ServiceListPanel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (InstantiationException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(ServiceListPanel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (IllegalAccessException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(ServiceListPanel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(ServiceListPanel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
}
|
||||||
|
//</editor-fold>
|
||||||
|
|
||||||
|
/* Create and display the form */
|
||||||
|
java.awt.EventQueue.invokeLater(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
new ServiceListPanel().setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JButton AddButton;
|
||||||
|
private javax.swing.JButton CloseButton;
|
||||||
|
private javax.swing.JButton RefreshButton;
|
||||||
|
private javax.swing.JButton UpdateButton;
|
||||||
|
private javax.swing.JScrollPane jScrollPane1;
|
||||||
|
private javax.swing.JTable jTable1;
|
||||||
|
// End of variables declaration//GEN-END:variables
|
||||||
|
}
|
144
src/javaapplication1/ServicePanel.form
Normal file
144
src/javaapplication1/ServicePanel.form
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
|
||||||
|
<Properties>
|
||||||
|
<Property name="defaultCloseOperation" type="int" value="3"/>
|
||||||
|
</Properties>
|
||||||
|
<SyntheticProperties>
|
||||||
|
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||||
|
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
|
||||||
|
</SyntheticProperties>
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||||
|
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jScrollPane1" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace min="-2" pref="65" max="-2" attributes="0"/>
|
||||||
|
<Component id="AddButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
|
||||||
|
<Component id="UpdateButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="70" max="-2" attributes="0"/>
|
||||||
|
<Component id="RefreshButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
|
||||||
|
<Component id="CloseButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jScrollPane1" min="-2" pref="302" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="27" max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
|
<Component id="AddButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="UpdateButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="CloseButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="RefreshButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JTable" name="jTable1">
|
||||||
|
<Properties>
|
||||||
|
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||||
|
<Table columnCount="3" rowCount="0">
|
||||||
|
<Column editable="true" title="id" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="service_name" type="java.lang.String"/>
|
||||||
|
<Column editable="true" title="service_price" type="java.lang.Integer"/>
|
||||||
|
</Table>
|
||||||
|
</Property>
|
||||||
|
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||||
|
<TableColumnModel selectionModel="0">
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
</TableColumnModel>
|
||||||
|
</Property>
|
||||||
|
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
|
||||||
|
<TableHeader reorderingAllowed="true" resizingAllowed="true"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTable1MouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
<Component class="javax.swing.JButton" name="AddButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Add"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="AddButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="UpdateButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Update"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="UpdateButtonMouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="CloseButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Delete"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="CloseButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="RefreshButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Refresh"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="RefreshButtonMouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Form>
|
347
src/javaapplication1/ServicePanel.java
Normal file
347
src/javaapplication1/ServicePanel.java
Normal file
@ -0,0 +1,347 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
|
||||||
|
*/
|
||||||
|
package javaapplication1;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.awt.event.WindowAdapter;
|
||||||
|
import java.awt.event.WindowEvent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author oleg
|
||||||
|
*/
|
||||||
|
public class ServicePanel extends javax.swing.JFrame {
|
||||||
|
private Statement stmt;
|
||||||
|
private Connection conn;
|
||||||
|
/**
|
||||||
|
* Creates new form ServicePaanel
|
||||||
|
*/
|
||||||
|
public ServicePanel() {
|
||||||
|
initComponents();
|
||||||
|
try {
|
||||||
|
conn = DBConnection.getConnection();
|
||||||
|
stmt = conn.createStatement();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
refreshTable();
|
||||||
|
setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called from within the constructor to initialize the form.
|
||||||
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
|
* regenerated by the Form Editor.
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
|
private void initComponents() {
|
||||||
|
|
||||||
|
jScrollPane1 = new javax.swing.JScrollPane();
|
||||||
|
jTable1 = new javax.swing.JTable();
|
||||||
|
AddButton = new javax.swing.JButton();
|
||||||
|
UpdateButton = new javax.swing.JButton();
|
||||||
|
CloseButton = new javax.swing.JButton();
|
||||||
|
RefreshButton = new javax.swing.JButton();
|
||||||
|
|
||||||
|
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
||||||
|
|
||||||
|
jTable1.setModel(new javax.swing.table.DefaultTableModel(
|
||||||
|
new Object [][] {
|
||||||
|
|
||||||
|
},
|
||||||
|
new String [] {
|
||||||
|
"id", "service_name", "service_price"
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
Class[] types = new Class [] {
|
||||||
|
java.lang.Integer.class, java.lang.String.class, java.lang.Integer.class
|
||||||
|
};
|
||||||
|
|
||||||
|
public Class getColumnClass(int columnIndex) {
|
||||||
|
return types [columnIndex];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
jTable1MouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jScrollPane1.setViewportView(jTable1);
|
||||||
|
|
||||||
|
AddButton.setLabel("Add");
|
||||||
|
AddButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
AddButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
UpdateButton.setLabel("Update");
|
||||||
|
UpdateButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
UpdateButtonMouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
CloseButton.setLabel("Delete");
|
||||||
|
CloseButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
CloseButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
RefreshButton.setLabel("Refresh");
|
||||||
|
RefreshButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
RefreshButtonMouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||||
|
getContentPane().setLayout(layout);
|
||||||
|
layout.setHorizontalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(jScrollPane1))
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addGap(65, 65, 65)
|
||||||
|
.addComponent(AddButton)
|
||||||
|
.addGap(71, 71, 71)
|
||||||
|
.addComponent(UpdateButton)
|
||||||
|
.addGap(70, 70, 70)
|
||||||
|
.addComponent(RefreshButton)
|
||||||
|
.addGap(71, 71, 71)
|
||||||
|
.addComponent(CloseButton)
|
||||||
|
.addGap(0, 0, Short.MAX_VALUE)))
|
||||||
|
.addContainerGap())
|
||||||
|
);
|
||||||
|
layout.setVerticalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 302, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addGap(27, 27, 27)
|
||||||
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
|
.addComponent(AddButton)
|
||||||
|
.addComponent(UpdateButton)
|
||||||
|
.addComponent(CloseButton)
|
||||||
|
.addComponent(RefreshButton))
|
||||||
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
|
||||||
|
pack();
|
||||||
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
private void AddButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddButtonActionPerformed
|
||||||
|
char service_name = (char) Integer.parseInt(JOptionPane.showInputDialog("Enter room number:"));
|
||||||
|
int service_price = Integer.parseInt(JOptionPane.showInputDialog("Enter floor:"));
|
||||||
|
|
||||||
|
try {
|
||||||
|
stmt.executeUpdate("INSERT INTO service (service_name, service_price) VALUES (" + service_name + ", " + service_price + ")");
|
||||||
|
refreshTable();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
// обновление таблицы
|
||||||
|
updateTable();
|
||||||
|
refreshTable();
|
||||||
|
|
||||||
|
}//GEN-LAST:event_AddButtonActionPerformed
|
||||||
|
|
||||||
|
private void UpdateButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_UpdateButtonMouseClicked
|
||||||
|
updateTable();
|
||||||
|
}//GEN-LAST:event_UpdateButtonMouseClicked
|
||||||
|
|
||||||
|
private void refreshTable() {
|
||||||
|
try {
|
||||||
|
Connection connection = DBConnection.getConnection();
|
||||||
|
Statement statement = connection.createStatement();
|
||||||
|
ResultSet rs = statement.executeQuery("SELECT * FROM service ORDER BY id ASC;");
|
||||||
|
DefaultTableModel model = new DefaultTableModel(new Object[]{"ID", "Service_Name", "Service_Price"}, 0){
|
||||||
|
@Override
|
||||||
|
public boolean isCellEditable(int i, int i1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
while (rs.next()) {
|
||||||
|
model.addRow(new Object[]{rs.getInt("id"), rs.getString("service_name"), rs.getInt("service_price")});
|
||||||
|
}
|
||||||
|
jTable1.setModel(model);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateTable() {
|
||||||
|
try {
|
||||||
|
Connection connection = DBConnection.getConnection();
|
||||||
|
String query = "SELECT * FROM service";
|
||||||
|
Statement statement = connection.createStatement();
|
||||||
|
ResultSet resultSet = statement.executeQuery(query);
|
||||||
|
|
||||||
|
// очистка модели таблицы
|
||||||
|
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
|
||||||
|
model.setRowCount(0);
|
||||||
|
|
||||||
|
// заполнение модели таблицы данными из базы данных
|
||||||
|
while (resultSet.next()) {
|
||||||
|
int id = resultSet.getInt("id");
|
||||||
|
int servicename = resultSet.getInt("servicename");
|
||||||
|
int serviceprice = resultSet.getInt("serviceprice");
|
||||||
|
|
||||||
|
Object[] row = {id, servicename, serviceprice};
|
||||||
|
model.addRow(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
resultSet.close();
|
||||||
|
statement.close();
|
||||||
|
connection.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CloseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CloseButtonActionPerformed
|
||||||
|
int row = jTable1.getSelectedRow();
|
||||||
|
if (row >= 0) {
|
||||||
|
try {
|
||||||
|
int id = (int) jTable1.getModel().getValueAt(row, 0);
|
||||||
|
stmt.executeUpdate("DELETE FROM service WHERE id=" + id);
|
||||||
|
refreshTable();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
JOptionPane.showMessageDialog(this, "Please select a service to delete.");
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_CloseButtonActionPerformed
|
||||||
|
|
||||||
|
private void RefreshButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_RefreshButtonMouseClicked
|
||||||
|
refreshTable();
|
||||||
|
}//GEN-LAST:event_RefreshButtonMouseClicked
|
||||||
|
|
||||||
|
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
|
||||||
|
|
||||||
|
// TODO add your handling code here:
|
||||||
|
// TODO add your handling code here:
|
||||||
|
if (evt.getClickCount() == 2) { // обработка двойного клика
|
||||||
|
JTable target = (JTable)evt.getSource();
|
||||||
|
int row = target.getSelectedRow(); // получаем номер строки
|
||||||
|
Object[] rowData = new Object[target.getColumnCount()];
|
||||||
|
// получаем значения ячеек выбранной строки
|
||||||
|
for (int i = 0; i < target.getColumnCount(); i++) {
|
||||||
|
rowData[i] = target.getValueAt(row, i);
|
||||||
|
}
|
||||||
|
// создаем отрывшуюся форму и передаем значения ячеек в текстовые поля
|
||||||
|
// NewRoomEdit editframe = new NewRoomEdit();
|
||||||
|
// editframe.setVisible(true);
|
||||||
|
// editframe.jTextField1.setText(rowData[1].toString());
|
||||||
|
// target.setValueAt(str, row, 1);
|
||||||
|
// target.setValueAt(str, row, 1);
|
||||||
|
|
||||||
|
|
||||||
|
JFrame frame = new JFrame();
|
||||||
|
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||||
|
JPanel panel = new JPanel(new GridLayout(6, 2));
|
||||||
|
|
||||||
|
JTextField ServiceNameTextField = new JTextField();
|
||||||
|
JLabel ServiceNameLabel = new JLabel("Service Name: ");
|
||||||
|
ServiceNameTextField.setText(rowData[1].toString());
|
||||||
|
|
||||||
|
JTextField ServicePriceTextField = new JTextField();
|
||||||
|
JLabel ServicePriceLabel = new JLabel("Service Price: ");
|
||||||
|
ServicePriceTextField.setText(rowData[2].toString());
|
||||||
|
|
||||||
|
|
||||||
|
panel.add(ServiceNameLabel);
|
||||||
|
panel.add(ServiceNameTextField);
|
||||||
|
panel.add(ServicePriceLabel);
|
||||||
|
panel.add(ServicePriceTextField);
|
||||||
|
|
||||||
|
JButton okButton = new JButton("Ок");
|
||||||
|
okButton.addActionListener(new ActionListener() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
// передаем значения ячеек в модель данных таблицы
|
||||||
|
try {
|
||||||
|
int id = (int) target.getModel().getValueAt(row, 0);
|
||||||
|
target.setValueAt(ServiceNameTextField.getText(), row, 1);
|
||||||
|
String ServiceName =(ServiceNameTextField.getText());
|
||||||
|
|
||||||
|
target.setValueAt(ServicePriceTextField.getText(), row, 2);
|
||||||
|
int ServicePrice = Integer.parseInt(ServicePriceTextField.getText());
|
||||||
|
|
||||||
|
stmt.executeUpdate("UPDATE service SET service_name= '" + ServiceName + "', service_price=" + ServicePrice + " WHERE id=" + id);
|
||||||
|
frame.dispose(); // закрываем форму
|
||||||
|
} catch (SQLException ev) {
|
||||||
|
ev.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
panel.add(okButton);
|
||||||
|
frame.add(panel);
|
||||||
|
frame.pack();
|
||||||
|
frame.setVisible(true);
|
||||||
|
|
||||||
|
// передаем значения ячеек в модель данных таблицы
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_jTable1MouseClicked
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param args the command line arguments
|
||||||
|
*/
|
||||||
|
public static void main(String args[]) {
|
||||||
|
/* Set the Nimbus look and feel */
|
||||||
|
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
|
||||||
|
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
|
||||||
|
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
|
||||||
|
*/
|
||||||
|
try {
|
||||||
|
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
|
||||||
|
if ("Nimbus".equals(info.getName())) {
|
||||||
|
javax.swing.UIManager.setLookAndFeel(info.getClassName());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (ClassNotFoundException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(ServicePanel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (InstantiationException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(ServicePanel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (IllegalAccessException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(ServicePanel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(ServicePanel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
}
|
||||||
|
//</editor-fold>
|
||||||
|
//</editor-fold>
|
||||||
|
|
||||||
|
/* Create and display the form */
|
||||||
|
java.awt.EventQueue.invokeLater(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
new ServicePanel().setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JButton AddButton;
|
||||||
|
private javax.swing.JButton CloseButton;
|
||||||
|
private javax.swing.JButton RefreshButton;
|
||||||
|
private javax.swing.JButton UpdateButton;
|
||||||
|
private javax.swing.JScrollPane jScrollPane1;
|
||||||
|
private javax.swing.JTable jTable1;
|
||||||
|
// End of variables declaration//GEN-END:variables
|
||||||
|
}
|
153
src/javaapplication1/SettlementPanel.form
Normal file
153
src/javaapplication1/SettlementPanel.form
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
|
||||||
|
<Properties>
|
||||||
|
<Property name="defaultCloseOperation" type="int" value="3"/>
|
||||||
|
</Properties>
|
||||||
|
<SyntheticProperties>
|
||||||
|
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||||
|
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
|
||||||
|
</SyntheticProperties>
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||||
|
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jScrollPane1" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace min="-2" pref="65" max="-2" attributes="0"/>
|
||||||
|
<Component id="AddButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
|
||||||
|
<Component id="UpdateButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="70" max="-2" attributes="0"/>
|
||||||
|
<Component id="RefreshButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
|
||||||
|
<Component id="CloseButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="jScrollPane1" min="-2" pref="302" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="27" max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
|
<Component id="AddButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="UpdateButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="CloseButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="RefreshButton" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JButton" name="UpdateButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Update"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="UpdateButtonMouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="CloseButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Delete"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="CloseButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="RefreshButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Refresh"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="RefreshButtonMouseClicked"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Container class="javax.swing.JScrollPane" name="jScrollPane1">
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JTable" name="jTable1">
|
||||||
|
<Properties>
|
||||||
|
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||||
|
<Table columnCount="5" rowCount="0">
|
||||||
|
<Column editable="true" title="id" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="guestid" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="roomid" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="date_in" type="java.lang.Integer"/>
|
||||||
|
<Column editable="true" title="date_out" type="java.lang.Integer"/>
|
||||||
|
</Table>
|
||||||
|
</Property>
|
||||||
|
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||||
|
<TableColumnModel selectionModel="0">
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title/>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
</TableColumnModel>
|
||||||
|
</Property>
|
||||||
|
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
|
||||||
|
<TableHeader reorderingAllowed="true" resizingAllowed="true"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
<Component class="javax.swing.JButton" name="AddButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="label" type="java.lang.String" value="Add"/>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="AddButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Form>
|
265
src/javaapplication1/SettlementPanel.java
Normal file
265
src/javaapplication1/SettlementPanel.java
Normal file
@ -0,0 +1,265 @@
|
|||||||
|
/*
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||||
|
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
|
||||||
|
*/
|
||||||
|
package javaapplication1;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.awt.event.WindowAdapter;
|
||||||
|
import java.awt.event.WindowEvent;
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author oleg
|
||||||
|
*/
|
||||||
|
public class SettlementPanel extends javax.swing.JFrame {
|
||||||
|
private Statement stmt;
|
||||||
|
private Connection conn;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates new form SettlementPanel
|
||||||
|
*/
|
||||||
|
public SettlementPanel() {
|
||||||
|
initComponents();
|
||||||
|
try {
|
||||||
|
conn = DBConnection.getConnection();
|
||||||
|
stmt = conn.createStatement();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
refreshTable();
|
||||||
|
setVisible(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called from within the constructor to initialize the form.
|
||||||
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
|
* regenerated by the Form Editor.
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
|
private void initComponents() {
|
||||||
|
|
||||||
|
UpdateButton = new javax.swing.JButton();
|
||||||
|
CloseButton = new javax.swing.JButton();
|
||||||
|
RefreshButton = new javax.swing.JButton();
|
||||||
|
jScrollPane1 = new javax.swing.JScrollPane();
|
||||||
|
jTable1 = new javax.swing.JTable();
|
||||||
|
AddButton = new javax.swing.JButton();
|
||||||
|
|
||||||
|
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
||||||
|
|
||||||
|
UpdateButton.setLabel("Update");
|
||||||
|
UpdateButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
UpdateButtonMouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
CloseButton.setLabel("Delete");
|
||||||
|
CloseButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
CloseButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
RefreshButton.setLabel("Refresh");
|
||||||
|
RefreshButton.addMouseListener(new java.awt.event.MouseAdapter() {
|
||||||
|
public void mouseClicked(java.awt.event.MouseEvent evt) {
|
||||||
|
RefreshButtonMouseClicked(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
jTable1.setModel(new javax.swing.table.DefaultTableModel(
|
||||||
|
new Object [][] {
|
||||||
|
|
||||||
|
},
|
||||||
|
new String [] {
|
||||||
|
"id", "guestid", "roomid", "date_in", "date_out"
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
Class[] types = new Class [] {
|
||||||
|
java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class, java.lang.Integer.class
|
||||||
|
};
|
||||||
|
|
||||||
|
public Class getColumnClass(int columnIndex) {
|
||||||
|
return types [columnIndex];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jScrollPane1.setViewportView(jTable1);
|
||||||
|
|
||||||
|
AddButton.setLabel("Add");
|
||||||
|
AddButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
AddButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||||
|
getContentPane().setLayout(layout);
|
||||||
|
layout.setHorizontalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(jScrollPane1))
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addGap(65, 65, 65)
|
||||||
|
.addComponent(AddButton)
|
||||||
|
.addGap(71, 71, 71)
|
||||||
|
.addComponent(UpdateButton)
|
||||||
|
.addGap(70, 70, 70)
|
||||||
|
.addComponent(RefreshButton)
|
||||||
|
.addGap(71, 71, 71)
|
||||||
|
.addComponent(CloseButton)
|
||||||
|
.addGap(0, 0, Short.MAX_VALUE)))
|
||||||
|
.addContainerGap())
|
||||||
|
);
|
||||||
|
layout.setVerticalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 302, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addGap(27, 27, 27)
|
||||||
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
||||||
|
.addComponent(AddButton)
|
||||||
|
.addComponent(UpdateButton)
|
||||||
|
.addComponent(CloseButton)
|
||||||
|
.addComponent(RefreshButton))
|
||||||
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
|
||||||
|
pack();
|
||||||
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
private void UpdateButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_UpdateButtonMouseClicked
|
||||||
|
updateTable();
|
||||||
|
}//GEN-LAST:event_UpdateButtonMouseClicked
|
||||||
|
|
||||||
|
private void refreshTable() {
|
||||||
|
try {
|
||||||
|
Connection connection = DBConnection.getConnection();
|
||||||
|
Statement statement = connection.createStatement();
|
||||||
|
ResultSet rs = statement.executeQuery("SELECT * FROM settlement ORDER BY id ASC;");
|
||||||
|
DefaultTableModel model = new DefaultTableModel(new Object[]{"ID", "guestid", "room_id", "date_in", "dateout"}, 0);
|
||||||
|
while (rs.next()) {
|
||||||
|
model.addRow(new Object[]{rs.getInt("id"), rs.getInt("guestid"), rs.getInt("roomid"), rs.getDate("date_in"), rs.getDate("date_out")});
|
||||||
|
}
|
||||||
|
jTable1.setModel(model);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateTable() {
|
||||||
|
try {
|
||||||
|
Connection connection = DBConnection.getConnection();
|
||||||
|
String query = "SELECT * settlement";
|
||||||
|
Statement statement = connection.createStatement();
|
||||||
|
ResultSet resultSet = statement.executeQuery(query);
|
||||||
|
|
||||||
|
// очистка модели таблицы
|
||||||
|
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
|
||||||
|
model.setRowCount(0);
|
||||||
|
|
||||||
|
// заполнение модели таблицы данными из базы данных
|
||||||
|
while (resultSet.next()) {
|
||||||
|
int id = resultSet.getInt("id");
|
||||||
|
int guestid = resultSet.getInt("guestid");
|
||||||
|
int roomid = resultSet.getInt("roomid");
|
||||||
|
int datein = resultSet.getInt("date_in");
|
||||||
|
int dateout = resultSet.getInt("date_out");
|
||||||
|
|
||||||
|
Object[] row = {id, guestid, roomid, datein, dateout};
|
||||||
|
model.addRow(row);
|
||||||
|
}
|
||||||
|
|
||||||
|
resultSet.close();
|
||||||
|
statement.close();
|
||||||
|
connection.close();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void CloseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CloseButtonActionPerformed
|
||||||
|
try {
|
||||||
|
stmt.close();
|
||||||
|
conn.close();
|
||||||
|
} catch (SQLException e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
dispose(); // закрыть только эту форму
|
||||||
|
}//GEN-LAST:event_CloseButtonActionPerformed
|
||||||
|
|
||||||
|
private void RefreshButtonMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_RefreshButtonMouseClicked
|
||||||
|
refreshTable();
|
||||||
|
}//GEN-LAST:event_RefreshButtonMouseClicked
|
||||||
|
|
||||||
|
private void AddButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AddButtonActionPerformed
|
||||||
|
int guestid = Integer.parseInt(JOptionPane.showInputDialog("Enter service number:"));
|
||||||
|
int roomid = Integer.parseInt(JOptionPane.showInputDialog("Enter floor:"));
|
||||||
|
int datein = Integer.parseInt(JOptionPane.showInputDialog("Enter floor:"));
|
||||||
|
int dateout = Integer.parseInt(JOptionPane.showInputDialog("Enter floor:"));
|
||||||
|
|
||||||
|
try {
|
||||||
|
stmt.executeUpdate("INSERT INTO settlement (guestid, roomid, date_in, date_out) VALUES (" + guestid + ", " + roomid + ", " + datein + ", " + dateout + ")");
|
||||||
|
refreshTable();
|
||||||
|
} catch (SQLException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
// обновление таблицы
|
||||||
|
updateTable();
|
||||||
|
refreshTable();
|
||||||
|
}//GEN-LAST:event_AddButtonActionPerformed
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param args the command line arguments
|
||||||
|
*/
|
||||||
|
public static void main(String args[]) {
|
||||||
|
/* Set the Nimbus look and feel */
|
||||||
|
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
|
||||||
|
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
|
||||||
|
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
|
||||||
|
*/
|
||||||
|
try {
|
||||||
|
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
|
||||||
|
if ("Nimbus".equals(info.getName())) {
|
||||||
|
javax.swing.UIManager.setLookAndFeel(info.getClassName());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (ClassNotFoundException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(SettlementPanel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (InstantiationException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(SettlementPanel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (IllegalAccessException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(SettlementPanel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(SettlementPanel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
}
|
||||||
|
//</editor-fold>
|
||||||
|
|
||||||
|
/* Create and display the form */
|
||||||
|
java.awt.EventQueue.invokeLater(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
new SettlementPanel().setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JButton AddButton;
|
||||||
|
private javax.swing.JButton CloseButton;
|
||||||
|
private javax.swing.JButton RefreshButton;
|
||||||
|
private javax.swing.JButton UpdateButton;
|
||||||
|
private javax.swing.JScrollPane jScrollPane1;
|
||||||
|
private javax.swing.JTable jTable1;
|
||||||
|
// End of variables declaration//GEN-END:variables
|
||||||
|
}
|
BIN
src/javaapplication1/postgresql-42.6.0.jar
Normal file
BIN
src/javaapplication1/postgresql-42.6.0.jar
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user