文本编辑组件(JTextField、JPasswordField、JTextArea)

文本编辑组件(JTextField、JPasswordField、JTextArea)

编写一个java程序,在程序中生成一个框架窗口,在框架窗口中创建文本框、密码文本框、滚动文本区


import javax.swing.JFrame;
import javax.swing.JPasswordField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class JText {
    private JTextField jtf = new JTextField("该文本不可编辑", 30);    // 创建文本行组件, 30 列
    private JPasswordField jpf = new JPasswordField("密码文本", 30);   // 创建密码文本行组件, 30 列
    private JTextArea jta = new JTextArea("您好", 10, 30);               // 创建文本区组件,10行,30列
    private JScrollPane jsp = new JScrollPane(jta);                    // 创建滚动窗格,其显示内容是文本区对象
    public void display() {

        // 布局
        JFrame f = new JFrame("文本编辑功能窗口");
        f.setBounds(200, 150, 350, 227);
        f.setLayout(null);

        jta.setLineWrap(true); // 设置自动换行
        jpf.setBounds(20, 10, 140, 20);
        jtf.setBounds(20, 40, 140, 20);
        jsp.setBounds(20, 70, 160, 100);

        // 把组件添加进窗口f中
        f.add(jpf);
        f.add(jtf);
        f.add(jsp);

        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
    }
    public static void main(String[] args) {
        (new JText()).display();
    }
}

实验结果
这里写图片描述

  • 12
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,我来给你提供一个示例代码,其中包含了Java JFrame、JPanel、JLabel、JButton、JTextFieldJPasswordFieldJTextArea、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组件的使用,以及简单的事件监听处理。你可以根据自己的需求进行修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值