写一个JAVA代码用图形化界面来录入,查询渔船在港口的停泊情况,包括渔船的进出港、停泊位置、停泊时间等信息
时间: 2024-03-08 20:50:12 浏览: 12
好的,这是一个涉及到图形化界面和数据库操作的项目。下面是一个简单的示例代码:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
public class FishingBoatGUI extends JFrame implements ActionListener {
// GUI components
private JLabel label1, label2, label3, label4;
private JTextField field1, field2, field3, field4;
private JButton button1, button2;
// Database connection
private Connection conn;
private Statement stmt;
public FishingBoatGUI() {
// Initialize GUI components
label1 = new JLabel("Boat ID:");
label2 = new JLabel("Status:");
label3 = new JLabel("Location:");
label4 = new JLabel("Time:");
field1 = new JTextField(10);
field2 = new JTextField(10);
field3 = new JTextField(10);
field4 = new JTextField(10);
button1 = new JButton("Save");
button2 = new JButton("Search");
// Register button listeners
button1.addActionListener(this);
button2.addActionListener(this);
// Set up layout
JPanel panel1 = new JPanel(new GridLayout(4, 2));
panel1.add(label1);
panel1.add(field1);
panel1.add(label2);
panel1.add(field2);
panel1.add(label3);
panel1.add(field3);
panel1.add(label4);
panel1.add(field4);
JPanel panel2 = new JPanel(new FlowLayout());
panel2.add(button1);
panel2.add(button2);
setLayout(new BorderLayout());
add(panel1, BorderLayout.CENTER);
add(panel2, BorderLayout.SOUTH);
// Set up database connection
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/fishing_boats", "username", "password");
stmt = conn.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
// Set window properties
setTitle("Fishing Boat GUI");
setSize(400, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) {
// Save button clicked
try {
String sql = "INSERT INTO boats VALUES ('" + field1.getText() + "', '" + field2.getText() + "', '" + field3.getText() + "', '" + field4.getText() + "')";
stmt.executeUpdate(sql);
JOptionPane.showMessageDialog(null, "Boat information saved.");
} catch (SQLException ex) {
ex.printStackTrace();
}
} else if (e.getSource() == button2) {
// Search button clicked
try {
String sql = "SELECT * FROM boats WHERE location = '" + field3.getText() + "'";
ResultSet rs = stmt.executeQuery(sql);
String result = "";
while (rs.next()) {
result += rs.getString("boat_id") + ", " + rs.getString("status") + ", " + rs.getString("location") + ", " + rs.getString("time") + "\n";
}
JOptionPane.showMessageDialog(null, result);
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
public static void main(String[] args) {
new FishingBoatGUI();
}
}
```
这个示例代码使用了Java Swing库来创建GUI界面,使用MySQL数据库来存储渔船信息。当用户点击“Save”按钮时,程序会将用户输入的渔船信息存储到数据库中;当用户点击“Search”按钮时,程序会从数据库中查询渔船在指定港口的停泊情况,并将结果显示在一个弹出窗口中。需要注意的是,在实际项目中,需要对用户输入的数据进行验证和过滤,以防止SQL注入等安全问题。