专栏首页葫芦java 按钮复选框监听事件及恢复保存状态

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();}

}
}
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • teg 中兴设备cactiez监控

    葫芦
  • java JAVA生成随机椭圆二一个以上widget的frame

    葫芦
  • teg es基础查询语法

    常用查询: 全文本查询:针对文本 1、查询全部:match_all 2、模糊匹配: match (类似sql 的 like) 3、全句匹配: match...

    葫芦
  • 初学java之菜单条,菜单,菜单项的设置

    1 package project; 2 import javax.swing.*; 3 4 import java.awt.event.KeyEve...

    Gxjun
  • win10 uwp 气泡 WPF 气泡

    假设尖头宽度 10 高度 5 ,那么可以看到第一个点是 (0,5) 第二个点是 (5,0) 第三个点是 (10,5)

    林德熙
  • Flutter TextStyle参数解析关于学习

    吴老师
  • 可视化工具solo show-----Prefuse自带例子GraphView讲解

      2014.10.15日以来的一个月,挤破了头、跑断了腿、伤透了心、吃够了全国最大餐饮连锁店——沙县小吃。其中酸甜苦辣,绝不是三言两语能够说得清道的明的。校招...

    JackieZheng
  • Java 常用动作事件监听

    用户2965768
  • Springboot如何启动图形界面程序以及如何多开

    虽然很少有人用java写windows界面,但比如说我们有一个图形界面程序,是用java.awt写的,大概是这样的吧

    算法之名
  • C#三元运算符?:高级点的用法

    当看到,(selectionMethod==0)?(ISelectionMethod)new EliteSelection():            ...

    望天

扫码关注云+社区

领取腾讯云代金券