java创建一个窗体,窗体标题是学号+姓名;
时间: 2024-02-06 07:11:42 浏览: 184
好的,以下是Java代码,可以创建一个窗体,窗体标题是学号+姓名:
```java
import javax.swing.JFrame;
public class MyFrame extends JFrame {
public MyFrame(String studentId, String name) {
super(studentId + " " + name);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
String studentId = "20210001";
String name = "小明";
new MyFrame(studentId, name);
}
}
```
在这个例子中,我们创建了一个继承自JFrame的MyFrame类,并在构造函数中传入学号和姓名,拼接成窗体标题。在main函数中,我们创建了一个MyFrame对象,传入学号和姓名,即可创建出一个窗体。
相关问题
java创建一个窗体,窗体标题是学号+姓名;窗体有账号标签,输入账号的文本框,密码标签,输入密码的文本框,有登陆按钮,重置按钮,注册按钮,点击登陆查询login表中的记录,如果存在弹出消息框登陆成功
好的,以下是一个Java Swing GUI程序的示例代码,实现了您的要求:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class LoginWindow extends JFrame implements ActionListener {
private JLabel lblAccount, lblPassword;
private JTextField entAccount, entPassword;
private JButton btnLogin, btnReset, btnRegister;
private String studentId, studentName;
private Connection conn;
private Statement stmt;
public LoginWindow(String studentId, String studentName) {
this.studentId = studentId;
this.studentName = studentName;
// 设置窗体属性
setTitle(studentId + studentName);
setSize(300, 200);
setLocationRelativeTo(null);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建控件
lblAccount = new JLabel("账号:");
entAccount = new JTextField(20);
lblPassword = new JLabel("密码:");
entPassword = new JPasswordField(20);
btnLogin = new JButton("登陆");
btnReset = new JButton("重置");
btnRegister = new JButton("注册");
// 布局控件
JPanel panel = new JPanel(new GridLayout(3, 2, 10, 10));
panel.add(lblAccount);
panel.add(entAccount);
panel.add(lblPassword);
panel.add(entPassword);
panel.add(btnLogin);
panel.add(btnReset);
panel.add(btnRegister);
add(panel);
// 添加事件监听器
btnLogin.addActionListener(this);
btnReset.addActionListener(this);
btnRegister.addActionListener(this);
// 连接数据库
try {
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:test.db");
stmt = conn.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnLogin) {
String account = entAccount.getText();
String password = entPassword.getText();
try {
ResultSet rs = stmt.executeQuery("SELECT * FROM login WHERE account='" + account + "' AND password='" + password + "'");
if (rs.next()) {
JOptionPane.showMessageDialog(this, "恭喜您,登陆成功!");
} else {
JOptionPane.showMessageDialog(this, "抱歉,登陆失败!");
}
} catch (Exception ex) {
ex.printStackTrace();
}
} else if (e.getSource() == btnReset) {
entAccount.setText("");
entPassword.setText("");
} else if (e.getSource() == btnRegister) {
// TODO: 实现注册功能
JOptionPane.showMessageDialog(this, "注册功能尚未实现!");
}
}
public static void main(String[] args) {
new LoginWindow("20210001", "张三");
}
@Override
public void dispose() {
// 关闭数据库连接
try {
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
super.dispose();
}
}
```
需要注意的是,这里同样使用了SQLite3作为数据库,因此需要提前创建一个名为`test.db`的SQLite3数据库,并创建一个名为`login`的表,用于存储账号和密码:
```sql
CREATE TABLE login (
account VARCHAR(10) PRIMARY KEY,
password VARCHAR(10) NOT NULL
);
```
在实际使用时,需要将`20210001`和`张三`替换成对应的学号和姓名。
编写Example01类继承JFrame类;创建一个title为“自己学号+姓名”的窗体;在窗体中创建一个按钮,使用setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)方法,设置单击按钮关闭窗口的操作。
好的,以下是您所需要的Java代码:
```
import javax.swing.JButton;
import javax.swing.JFrame;
public class Example01 extends JFrame {
private JButton button;
public Example01(String title) {
super(title);
button = new JButton("关闭窗口");
button.addActionListener(e -> System.exit(0));
add(button);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 200);
setVisible(true);
}
public static void main(String[] args) {
new Example01("学号+姓名");
}
}
```
这个程序创建了一个继承自JFrame的Example01类,并且在构造函数中创建了一个名称为“关闭窗口”的按钮,并且使用lambda表达式添加了一个单击事件。另外,程序还设置了窗口的默认关闭操作为退出程序(EXIT_ON_CLOSE),并且设置了窗口的大小和可见性。最后,程序在main方法中创建了一个Example01对象,设置了窗口的标题为“学号+姓名”。
阅读全文