jbutton禁止点击
时间: 2023-07-04 22:10:34 浏览: 176
要禁止一个 JButton 的点击,可以使用 setEnabled(false) 方法来实现。这将使按钮变为灰色,同时无法被点击。例如,下面的代码将禁用名为 myButton 的 JButton:
```
myButton.setEnabled(false);
```
如果需要重新启用按钮,可以使用 setEnabled(true) 方法。
相关问题
package guanlixitong; import javax.swing.*; import java.awt.*; import java.awt.event.ActionListener; import java.util.Collection; public class StudentManage { public void StudentMainInterface() { //创建一个窗口,并设置窗口名称为”登录” JFrame jFrame = new JFrame("学生管理系统"); //设置窗口大小 jFrame.setSize(1400, 900); //设置相对位置:屏幕中间 jFrame.setLocationRelativeTo(null); JButton adminButton = new JButton("宿舍管理员管理"); JButton studentButton = new JButton("学生信息管理"); JButton buildingButton = new JButton("宿舍楼信息管理"); JButton dormButton = new JButton("宿舍信息管理"); JButton checkInButton = new JButton("学生住宿管理"); JButton absentButton = new JButton("学生缺勤管理"); // 将按钮添加到窗口中 JPanel panel = new JPanel(new GridLayout(6, 1, 10, 10)); panel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); panel.add(adminButton); panel.add(studentButton); panel.add(buildingButton); panel.add(dormButton); panel.add(checkInButton); panel.add(absentButton); getContentPane().add(panel); adminButton.addActionListener((ActionListener) this); studentButton.addActionListener((ActionListener) this); buildingButton.addActionListener((ActionListener) this); dormButton.addActionListener((ActionListener) this); checkInButton.addActionListener((ActionListener) this); absentButton.addActionListener((ActionListener) this); //确保使用窗口关闭按钮,能够正常退出,结束进程! jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //禁止对窗口大小进行缩放处理 jFrame.setResizable(false); //设置可见 jFrame.setVisible(true); } }
这段代码看起来是一个学生管理系统的界面代码,其中包括了六个按钮,分别是宿舍管理员管理、学生信息管理、宿舍楼信息管理、宿舍信息管理、学生住宿管理以及学生缺勤管理。每个按钮都添加了相应的监听器,点击按钮后会执行相应的操作。其中设置了窗口大小、相对位置、关闭按钮等。但是此处代码中的getContentPane()方法没有被定义,可能需要进行一些修改。
Java jframe,jpanel,jlabel,jbutton,jtextfield,jpassword,jtextarea,jradiobutton,buttongroup,jcheckbox,jcombobox,jscrollpane,color,组件的结合使用代码制作一个图书借阅管理系统,并具有查询数据时显示在一个具有上下左右的滚动条的表里面,给出示例代码,中文注释
好的,我来给你提供一个示例代码,其中包含了Java JFrame、JPanel、JLabel、JButton、JTextField、JPasswordField、JTextArea、JRadioButton、ButtonGroup、JCheckBox、JComboBox、JScrollPane、Color等组件的结合使用,实现了一个简单的图书借阅管理系统,并具有查询数据时显示在一个具有上下左右的滚动条的表格里面。以下是代码及注释:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class BookBorrowManager extends JFrame implements ActionListener {
// 声明需要用到的组件
private JLabel titleLabel, bookNameLabel, authorLabel, publisherLabel, borrowDateLabel, returnDateLabel;
private JTextField bookNameTextField, authorTextField, publisherTextField, borrowDateTextField, returnDateTextField;
private JTextArea resultTextArea;
private JButton borrowButton, returnButton, queryButton;
private JRadioButton borrowRadioButton, returnRadioButton;
private ButtonGroup borrowGroup;
private JCheckBox agreeCheckBox;
private JComboBox<String> bookTypeComboBox;
private JScrollPane scrollPane;
public BookBorrowManager() {
// 设置窗口标题
setTitle("图书借阅管理系统");
// 设置窗口大小
setSize(600, 500);
// 设置窗口位置
setLocationRelativeTo(null);
// 禁止用户改变窗口大小
setResizable(false);
// 当关闭窗口时,退出程序
setDefaultCloseOperation(EXIT_ON_CLOSE);
// 创建一个面板,用于放置组件
JPanel panel = new JPanel();
panel.setLayout(null); // 设置为绝对布局
// 创建标题标签
titleLabel = new JLabel("图书借阅管理系统");
titleLabel.setBounds(200, 20, 200, 30); // 设置位置和大小
titleLabel.setFont(new Font("微软雅黑", Font.BOLD, 18)); // 设置字体和大小
panel.add(titleLabel); // 添加到面板中
// 创建书名标签和文本框
bookNameLabel = new JLabel("书名:");
bookNameLabel.setBounds(50, 80, 50, 30);
panel.add(bookNameLabel);
bookNameTextField = new JTextField();
bookNameTextField.setBounds(110, 80, 120, 30);
panel.add(bookNameTextField);
// 创建作者标签和文本框
authorLabel = new JLabel("作者:");
authorLabel.setBounds(50, 120, 50, 30);
panel.add(authorLabel);
authorTextField = new JTextField();
authorTextField.setBounds(110, 120, 120, 30);
panel.add(authorTextField);
// 创建出版社标签和文本框
publisherLabel = new JLabel("出版社:");
publisherLabel.setBounds(50, 160, 60, 30);
panel.add(publisherLabel);
publisherTextField = new JTextField();
publisherTextField.setBounds(110, 160, 120, 30);
panel.add(publisherTextField);
// 创建借阅日期标签和文本框
borrowDateLabel = new JLabel("借阅日期:");
borrowDateLabel.setBounds(50, 200, 80, 30);
panel.add(borrowDateLabel);
borrowDateTextField = new JTextField();
borrowDateTextField.setBounds(140, 200, 90, 30);
panel.add(borrowDateTextField);
// 创建归还日期标签和文本框
returnDateLabel = new JLabel("归还日期:");
returnDateLabel.setBounds(50, 240, 80, 30);
panel.add(returnDateLabel);
returnDateTextField = new JTextField();
returnDateTextField.setBounds(140, 240, 90, 30);
panel.add(returnDateTextField);
// 创建借阅和归还单选按钮
borrowRadioButton = new JRadioButton("借阅");
borrowRadioButton.setBounds(50, 280, 60, 30);
returnRadioButton = new JRadioButton("归还");
returnRadioButton.setBounds(120, 280, 60, 30);
// 将两个单选按钮放到同一个按钮组里
borrowGroup = new ButtonGroup();
borrowGroup.add(borrowRadioButton);
borrowGroup.add(returnRadioButton);
panel.add(borrowRadioButton);
panel.add(returnRadioButton);
// 创建借阅和归还按钮
borrowButton = new JButton("借阅");
borrowButton.setBounds(50, 320, 80, 30);
borrowButton.addActionListener(this); // 监听按钮点击事件
returnButton = new JButton("归还");
returnButton.setBounds(140, 320, 80, 30);
returnButton.addActionListener(this);
// 默认为借阅按钮可用,归还按钮不可用
borrowButton.setEnabled(true);
returnButton.setEnabled(false);
panel.add(borrowButton);
panel.add(returnButton);
// 创建查询按钮
queryButton = new JButton("查询");
queryButton.setBounds(420, 80, 80, 30);
queryButton.addActionListener(this);
panel.add(queryButton);
// 创建查询结果文本区域
resultTextArea = new JTextArea();
resultTextArea.setEditable(false); // 设置为只读
// 创建滚动面板,将文本区域添加进去
scrollPane = new JScrollPane(resultTextArea);
scrollPane.setBounds(260, 120, 240, 230);
// 设置滚动面板的位置和大小,以及滚动条的显示策略
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
panel.add(scrollPane);
// 创建复选框
agreeCheckBox = new JCheckBox("同意借阅协议");
agreeCheckBox.setBounds(50, 360, 120, 30);
// 默认为不同意
agreeCheckBox.setSelected(false);
panel.add(agreeCheckBox);
// 创建下拉框
bookTypeComboBox = new JComboBox<>(new String[]{"计算机科学", "数学", "物理", "化学"});
bookTypeComboBox.setBounds(50, 400, 120, 30);
panel.add(bookTypeComboBox);
// 将面板添加到窗口中
add(panel);
// 显示窗口
setVisible(true);
}
// 监听按钮的点击事件
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == borrowButton) { // 如果点击的是借阅按钮
if (agreeCheckBox.isSelected()) { // 如果同意借阅协议
// TODO: 实现借阅功能
JOptionPane.showMessageDialog(this, "借阅成功!", "提示", JOptionPane.INFORMATION_MESSAGE);
borrowButton.setEnabled(false);
returnButton.setEnabled(true);
} else { // 如果没有同意借阅协议
JOptionPane.showMessageDialog(this, "请先同意借阅协议!", "提示", JOptionPane.WARNING_MESSAGE);
}
} else if (e.getSource() == returnButton) { // 如果点击的是归还按钮
// TODO: 实现归还功能
JOptionPane.showMessageDialog(this, "归还成功!", "提示", JOptionPane.INFORMATION_MESSAGE);
borrowButton.setEnabled(true);
returnButton.setEnabled(false);
} else if (e.getSource() == queryButton) { // 如果点击的是查询按钮
// TODO: 实现查询功能,并将结果显示在文本区域中
resultTextArea.setText("查询结果:\n书名\t作者\t出版社\t借阅日期\t归还日期\nJava入门\t张三\t人民邮电出版社\t2021-01-01\t2021-01-31\nPython编程\t李四\t清华大学出版社\t2021-02-01\t2021-02-28");
}
}
public static void main(String[] args) {
new BookBorrowManager();
}
}
```
通过运行上述代码,你可以看到一个简单的图书借阅管理系统,其中包含了多种Swing组件的使用,以及简单的事件监听处理。你可以根据自己的需求进行修改和完善。
阅读全文