JPanel formPanel = new JPanel(); formPanel.setLayout(new GridLayout(2, 2)); usernameLabel = new JLabel("Username:"); usernameField = new JTextField(); passwordLabel = new JLabel("Password:"); passwordField = new JPasswordField(); formPanel.add(usernameLabel); formPanel.add(usernameField); formPanel.add(passwordLabel); formPanel.add(passwordField); add(formPanel, BorderLayout.CENTER);怎么使其中文本框适应大小,居中对齐
时间: 2023-12-27 13:05:34 浏览: 23
你可以使用JTextField的setHorizontalAlignment方法将文本框中的文本居中对齐,通过设置preferredSize属性来适应大小。
例如:
```
usernameField.setPreferredSize(new Dimension(200, 30)); // 设置文本框大小
usernameField.setHorizontalAlignment(JTextField.CENTER); // 设置文本居中对齐
```
同样的,也可以用同样的方式对passwordField进行设置。
相关问题
创建一个注册窗口通过java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class RegisterWindow extends JFrame implements ActionListener {
private JLabel nameLabel, emailLabel, passwordLabel, confirmPasswordLabel;
private JTextField nameField, emailField;
private JPasswordField passwordField, confirmPasswordField;
private JButton registerButton;
private JCheckBox agreeCheckBox;
public RegisterWindow() {
setTitle("注册");
setSize(400, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());
JPanel formPanel = new JPanel();
formPanel.setLayout(new GridLayout(5, 2, 5, 10));
nameLabel = new JLabel("用户名");
formPanel.add(nameLabel);
nameField = new JTextField();
formPanel.add(nameField);
emailLabel = new JLabel("电子邮箱");
formPanel.add(emailLabel);
emailField = new JTextField();
formPanel.add(emailField);
passwordLabel = new JLabel("密码");
formPanel.add(passwordLabel);
passwordField = new JPasswordField();
formPanel.add(passwordField);
confirmPasswordLabel = new JLabel("确认密码");
formPanel.add(confirmPasswordLabel);
confirmPasswordField = new JPasswordField();
formPanel.add(confirmPasswordField);
agreeCheckBox = new JCheckBox("同意协议");
formPanel.add(agreeCheckBox);
registerButton = new JButton("注册");
registerButton.addActionListener(this);
formPanel.add(registerButton);
mainPanel.add(formPanel, BorderLayout.CENTER);
setContentPane(mainPanel);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == registerButton) {
String name = nameField.getText();
String email = emailField.getText();
String password = new String(passwordField.getPassword());
String confirmPassword = new String(confirmPasswordField.getPassword());
boolean agree = agreeCheckBox.isSelected();
if (name.trim().equals("") || email.trim().equals("") || password.trim().equals("")) {
JOptionPane.showMessageDialog(this, "请填写完整信息");
return;
}
if (!password.equals(confirmPassword)) {
JOptionPane.showMessageDialog(this, "两次密码不一致");
return;
}
if (!agree) {
JOptionPane.showMessageDialog(this, "请同意协议");
return;
}
JOptionPane.showMessageDialog(this, "注册成功");
}
}
public static void main(String[] args) {
new RegisterWindow();
}
}
Java运用Swing控件完成以下窗体制作,最上面是借用物品作为标题,中间为需要输入的员工编号,借用器具,借用日期,归还日期,借用原因,最下面有确定,取消两个按钮
好的,我可以帮你完成这个窗体的制作。首先,我们需要创建一个 JFrame 对象,用于承载整个窗体。然后,我们可以使用 JPanel 对象来实现上、中、下三个部分的布局。
代码如下:
```java
import javax.swing.*;
import java.awt.*;
public class BorrowForm extends JFrame {
// 控件
private JLabel labelTitle, labelId, labelTool, labelBorrowDate, labelReturnDate, labelReason;
private JTextField textFieldId, textFieldTool, textFieldBorrowDate, textFieldReturnDate, textFieldReason;
private JButton buttonOk, buttonCancel;
public BorrowForm() {
// 设置窗体标题
setTitle("借用物品");
// 设置窗体大小
setSize(400, 300);
// 设置窗体位置居中
setLocationRelativeTo(null);
// 设置窗体关闭时退出程序
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建面板
JPanel panel = new JPanel();
// 设置面板布局
panel.setLayout(new BorderLayout());
// 创建标题标签
labelTitle = new JLabel("借用物品");
labelTitle.setFont(new Font("微软雅黑", Font.BOLD, 24));
labelTitle.setHorizontalAlignment(SwingConstants.CENTER);
// 添加标题标签到面板上
panel.add(labelTitle, BorderLayout.NORTH);
// 创建表单面板
JPanel formPanel = new JPanel();
formPanel.setLayout(new GridLayout(5, 2, 10, 10));
formPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
// 创建员工编号标签和文本框
labelId = new JLabel("员工编号:");
textFieldId = new JTextField();
formPanel.add(labelId);
formPanel.add(textFieldId);
// 创建借用器具标签和文本框
labelTool = new JLabel("借用器具:");
textFieldTool = new JTextField();
formPanel.add(labelTool);
formPanel.add(textFieldTool);
// 创建借用日期标签和文本框
labelBorrowDate = new JLabel("借用日期:");
textFieldBorrowDate = new JTextField();
formPanel.add(labelBorrowDate);
formPanel.add(textFieldBorrowDate);
// 创建归还日期标签和文本框
labelReturnDate = new JLabel("归还日期:");
textFieldReturnDate = new JTextField();
formPanel.add(labelReturnDate);
formPanel.add(textFieldReturnDate);
// 创建借用原因标签和文本框
labelReason = new JLabel("借用原因:");
textFieldReason = new JTextField();
formPanel.add(labelReason);
formPanel.add(textFieldReason);
// 添加表单面板到主面板上
panel.add(formPanel, BorderLayout.CENTER);
// 创建按钮面板
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));
// 创建确定按钮
buttonOk = new JButton("确定");
buttonOk.setPreferredSize(new Dimension(80, 30));
buttonPanel.add(buttonOk);
// 创建取消按钮
buttonCancel = new JButton("取消");
buttonCancel.setPreferredSize(new Dimension(80, 30));
buttonPanel.add(buttonCancel);
// 添加按钮面板到主面板上
panel.add(buttonPanel, BorderLayout.SOUTH);
// 添加主面板到窗体上
add(panel);
// 显示窗体
setVisible(true);
}
}
```
这段代码会创建一个 JFrame 对象,其中包含了一个标题为“借用物品”的 JLabel 对象,一个包含员工编号、借用器具、借用日期、归还日期、借用原因的表单,以及一个确定按钮和一个取消按钮。
你只需要在你的代码中调用 BorrowForm 的构造方法即可创建出这个窗体。