import java.awt.*;
import javax.swing.*;
public class MyFrame extends JFrame{
/**
*
*/
private static final long serialVersionUID = 1L;//序列号
protected JLabel pLabel;//声明一个标签
protected JTextField tf;//声明一个文本框
protected JTextArea ta;//声明一个文本域(多行文本框)
protected JButton btn1,btn2;//声明一个按钮
public MyFrame(String s){//构造方法
super(s);//继承父类的构造方法并把值是传给他
Container contentPane=getContentPane();//获得一个容器
contentPane.setLayout(new BorderLayout());//设置容器的布局(流式布局)
JPanel ptf=new JPanel(new GridLayout(1,2));//创建一个面板
pLabel=new JLabel("请输入",JLabel.RIGHT);//创建一个标签
ptf.add(pLabel);//向面板里添加一个标签
tf=new JTextField(12);//创建一个文本框
ptf.add(tf);//添加到面板里
contentPane.add(ptf,BorderLayout.NORTH);//将面板添加到容器的北方
ta=new JTextArea("这是一个文本区");//创建一个文本域
JScrollPane scrollpane=new JScrollPane(ta);//创建一个滚动条并添加到文本域
contentPane.add(scrollpane,BorderLayout.CENTER);//将文本域添加到容器
JPanel pbtn=new JPanel();//创建面板
btn1=new JButton("按钮1");//创建按钮
pbtn.add(btn1);//添加到面板
btn2=new JButton("按钮2");
pbtn.add(btn2);
contentPane.add(pbtn,BorderLayout.SOUTH);//将面板添加到容器的南方
setSize(400,300);//设置大小
setVisible(true);//设置是否可见
}
public static void main(String []args){//主函数
MyFrame w =new MyFrame("应用程序");//实例化MyFrame
}
}
第二个
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JColorChooser;
public class MyFrame2 extends MyFrame implements ActionListener{
public MyFrame2(String s){//这个代构造方法是在该类实例化的时候为下面三个控件添加监听器
super(s);
tf.addActionListener(this);
btn1.addActionListener(this);
btn2.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {//添加事件的方法
if(e.getSource()==tf){
ta.append("\n"+tf.getText());
tf.setText("");
}
else if(e.getSource()==btn1){
Color tempColor=JColorChooser.showDialog(this,"调色板",Color.red);
ta.setBackground(tempColor);
}
else if(e.getSource()==btn2){
Color tempColor=JColorChooser.showDialog(this,"调色板",Color.red);
ta.setForeground(tempColor);
}
}
public static void main(String []args){
MyFrame2 w=new MyFrame2("窗口应用程序");
}
}