java 按钮复选框监听事件及恢复保存状态
时间:2022-06-20
本文章向大家介绍java 按钮复选框监听事件及恢复保存状态,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Panel1
{
public static void main(String[] args)
{
Panel1 gui=new Panel1();
gui.go();
}
JPanel panel,panel2,panel3;
JTextArea text;
JScrollPane scroller;
JCheckBox check;
public void go(){
JFrame frame=new JFrame();
panel=new JPanel();
panel3=new JPanel();
panel.setBackground(Color.red);
panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
JButton button=new JButton("green");
panel.add(button);
button.addActionListener(new ButtonListener());
JButton button2=new JButton("red");
JButton button3=new JButton("save");
JButton button4=new JButton("load");
button3.addActionListener(new Button3Listener());
button2.addActionListener(new Button2Listener());
panel.add(button2);
panel3.add(button3);
panel3.add(button4);
button4.addActionListener(new Button4Listener());
panel2=new JPanel();
text=new JTextArea(5,25);
text.setLineWrap(true);
check=new JCheckBox("blue or black");
check.addItemListener(new CheckListen());
panel2.setLayout(new BoxLayout(panel2,BoxLayout.Y_AXIS));
panel2.add(check);
check.setSelected(true);
scroller=new JScrollPane(text);
scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
panel2.add(scroller);
frame.getContentPane().add(BorderLayout.EAST,panel);
frame.getContentPane().add(BorderLayout.WEST,panel2);
frame.getContentPane().add(BorderLayout.SOUTH,panel3);
frame.setSize(400,300);
frame.setVisible(true);
}
class CheckListen implements ItemListener
{
public void itemStateChanged(ItemEvent envent){
if(check.isSelected()){
panel.setBackground(Color.blue);
text.append("blue n");
}else{
panel.setBackground(Color.black);
text.append("black n");
}
}
}
class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent event){
panel.setBackground(Color.green);
text.append("green n");}
}
class Button2Listener implements ActionListener
{
public void actionPerformed(ActionEvent event){
panel.setBackground(Color.red);
text.append("red n");}
}
class Button3Listener implements ActionListener
{
public void actionPerformed(ActionEvent event){
try{ObjectOutputStream os=new ObjectOutputStream(new FileOutputStream("save.ser"));
os.writeObject(text);
os.close();
}catch(IOException ex){
ex.printStackTrace();}
}
}
class Button4Listener implements ActionListener
{
public void actionPerformed(ActionEvent event){
try{ObjectInputStream is=new ObjectInputStream(new FileInputStream("save.ser"));
JTextArea test=(JTextArea) is.readObject();
text.setText(test.getText());
}catch(Exception ex){
ex.printStackTrace();}
}
}
}
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- docker 中的mysql 经常重启优化
- python MultipartEncoder传输zip文件实例
- 当Flutter遇到节流与防抖的思路和流程优化
- 花样使用Handler与源码分析
- 几个你不知道的Git小命令,却收获快乐。
- Flutter路由的跳转、动画和传参详解(最简单)
- ObjectAnimator属性动画源码分析篇
- 谈谈 React 5种最流行的状态管理库
- Android动态时钟壁纸开发
- Python读取配置文件(config.ini)以及写入配置文件
- Django {{ MEDIA_URL }}无法显示图片的解决方式
- python将音频进行变速的操作方法
- 解决django的template中如果无法引用MEDIA_URL问题
- 从源码解读 - Vue常考面试题
- Android PickerView实现三级联动效果