3 JLabel & JTextField & JCheckBox

标签 JLabel

JLabel,用于显示短文本,或者图标

setText()  设置文本
setFont()  设置字体
setForeground()  设置文本颜色
setToolTipText()  设置工具提示

代码:

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class Demo1 {
	public static void main(String[] args) {
		MyFrame frame = new MyFrame("Demo");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(300, 300);
		frame.setVisible(true);
	}
}

class MyFrame extends JFrame {
	
	public MyFrame(String title) {
		
		super(title);
		//内容面板
		Container contentPane = getContentPane();
		contentPane.setLayout(new FlowLayout());
		
		JLabel label = new JLabel();
		contentPane.add(label);
		
		label.setText("小鑫加油!!");
		label.setFont(new Font("微软雅黑", 0, 14));
		label.setForeground(Color.BLUE);
		label.setToolTipText("http://baidu.com");
	}
}

显示:
在这里插入图片描述

JTextField

JTextField 用于显示单行文本

new JTextField(16);  //16表示列数,用于计算宽度(并不是字数限制)
setText() / getText();  //设置/获得文本
setFont();   //设置字体

代码:

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class Demo2 {

	public static void main(String[] args) {
		MyFrame frame = new MyFrame("Demo");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(300, 300);
		frame.setVisible(true);
	}
}

class MyFrame extends JFrame{
	
	JLabel label = new JLabel("姓名");
	
	//注意:构造参数,16表示16列,用于计算宽度显示,并不是字符个数限制
	JTextField textField = new JTextField(16);
	JButton button = new JButton("确定");
	
	public MyFrame(String title) {
		super(title);
		
		Container contentPane = getContentPane();
		contentPane.setLayout(new FlowLayout());
		
		//添加控件
		contentPane.add(label);
		contentPane.add(textField);
		contentPane.add(button);
		
		button.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				onButtonOK();
			}
			
		});
	}
	
	private void onButtonOK() {
		String str = textField.getText();
		
		//消息提示框
		JOptionPane.showMessageDialog(this, "输入了: " + str);
	}
}

显示:
+

JCheckedBox

API:

getSelected()/setSelected()
setText()

事件:
addActionListener();  //用户选中/取消时触发

代码:

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class Demo {

	public static void main(String[] args) {
		MyFrame frame = new MyFrame("Demo");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setSize(300, 300);
		frame.setVisible(true);
	}
}

class MyFrame extends JFrame{
	JCheckBox cbx = new JCheckBox("我想订阅邮件通知");
	JTextField email = new JTextField(16);
	
	public MyFrame(String title) {
		super(title);
		
		Container contenPane = getContentPane();
		contenPane.setLayout(new FlowLayout());
		contenPane.add(cbx);
		contenPane.add(email);
		
		cbx.setSelected(true);
		cbx.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				if(cbx.isSelected()) {
					email.setEnabled(true);
				}else {
					email.setEnabled(false);
				}
			}
			
		});
	}
}

显示:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值