Swing简单学习:
package com.test;
import javax.swing.*;
import java.awt.*;
public class SwingUse extends JFrame{
public SwingUse()
{
this.setTitle("use JFrame");
this.setBounds(300,250,300,200);
//this.setUndecorated(true);
Image i=this.getToolkit().getImage("1.jpg");
this.setIconImage(i);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭窗口的操作(默认隐藏)
//this.setResizable(true);//窗口大小可调
this.setVisible(true);//窗口可见
}
public static void main(String[] args)
{
SwingUse jf=new SwingUse();
}
}
面板panel:JPanel; 按钮button:JButton; 标签label:JLabel
按钮动作事件:单击按钮触发动作事件ActionEvent,添加、注册动作事件监听器(实现ActionListener监听接口),重写接口的actionPerformed方法
package com.test;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SwingUse extends JFrame{
JPanel jp=new JPanel();
JButton jb=new JButton("button");
JLabel jl=new JLabel();
int i=0;
public SwingUse()
{
this.setTitle("create button");
jb.setText("a button here");
jb.setMnemonic('a');
this.add(jb);
jb.addActionListener(new ActionListener(){ //匿名类
public void actionPerformed(ActionEvent e){
SwingUse.this.jb.setText("button has been pressed "+(++i)+" times");
}
});
this.setBounds(500,450,500,300);
//this.setUndecorated(true);
Image i=this.getToolkit().getImage("1.jpg");
this.setIconImage(i);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
//this.setResizable(true);
this.setVisible(true);
}
public static void main(String[] args)
{
SwingUse jf=new SwingUse();
}
}
同一个事件源添加多个监听器:先注册后执行
package com.test;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SwingUse extends JFrame{
JButton jb=new JButton("button");
int i=0;
public SwingUse()
{
this.setTitle("create button");
jb.setText("a button here");
jb.setMnemonic('a');
this.add(jb);
jb.addActionListener(new ActionListener(){ //匿名类
public void actionPerformed(ActionEvent e){ //先注册的后执行
SwingUse.this.jb.setText("button has been pressed "+(++i)+" times");
}
});
jb.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
SwingUse.this.jb.setText("pressed"+(++i));
}
});
this.setBounds(500,450,500,300);
Image i=this.getToolkit().getImage("1.jpg");
this.setIconImage(i);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args)
{
SwingUse jf=new SwingUse();
}
}
同一个监听器注册给多个事件源:botton1.addAcitonListener(this);
package com.test;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SwingUse extends JFrame implements ActionListener{
JPanel jp=new JPanel();
JButton jb1=new JButton("button");
JButton jb2=new JButton("button");
JLabel jl=new JLabel();
int i=0;
public SwingUse()
{
this.setTitle("create button");
jb1.setText("a button here");
jb2.setText("a button there");
jb1.setMnemonic('a');
jb2.setMnemonic('b');
jp.add(jb1);
jp.add(jb2);
this.add(jp);
jb1.addActionListener(this);
jb2.addActionListener(this);
this.setBounds(500,450,500,300);
//this.setUndecorated(true);
Image i=this.getToolkit().getImage("1.jpg");
this.setIconImage(i);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
//this.setResizable(true);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jb1)
{
this.jb1.setText("pressed times:"+(++i));
}
else if(e.getSource()==jb2)
{
this.jb2.setText("pressed times:"+(++i));
}
}
public static void main(String[] args)
{
SwingUse jf=new SwingUse();
}
}
《二十一天学通java》第15章 嵌入式系统开发概述 to be continue
《二十一天学通java》第16章 swing常用控件 to be continue
《二十一天学通java》第17章 JDBC数据库编程 to be continue