窗口实训1

1、设计一个如图所示的界面,不需要提供组件的功能。
package haonan;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.;
public class WindowLayout {
JFrame f;
JPanel p1,p2;
JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16;
JLabel l;
JTextField t;
GridLayout w1;
public WindowLayout(){
f=new JFrame("计算器");
w1=new GridLayout(4,4);
p1=new JPanel();
p2=new JPanel();
b1=new JButton("7");
b2=new JButton("8");
b3=new JButton("9");
b4=new JButton("/");
b5=new JButton("4");
b6=new JButton("5");
b7=new JButton("6");
b8=new JButton("
");
b9=new JButton("1");
b10=new JButton("2");
b11=new JButton("3");
b12=new JButton("-");
b13=new JButton("0");
b14=new JButton(".");
b15=new JButton("=");
b16=new JButton("+");
t=new JTextField(15);
f.add(t,BorderLayout.NORTH);
p2.setLayout(w1);
f.add(p2);
f.add(p2);
p2.add(b1);
p2.add(b2);
p2.add(b3);
p2.add(b4);
p2.add(b5);
p2.add(b6);
p2.add(b7);
p2.add(b8);
p2.add(b9);
p2.add(b10);
p2.add(b11);
p2.add(b12);
p2.add(b13);
p2.add(b14);
p2.add(b15);
p2.add(b16);
f.setSize(400, 300);
f.setLocation(750, 300);
f.setVisible(true);
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
new WindowLayout();
}
}

2、编写可改变背景颜色的窗口。

package haonan;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Color {
JFrame f;
JButton b1,b2,b3;
JPanel p1,p2;
public Color(){
f=new JFrame("Color");
p1=new JPanel();
p2=new JPanel();

	   b1=new JButton("红色");
	   b1.addActionListener(new ActionListener(){

		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			p2.setBackground(java.awt.Color.red);
		}
		   
	   });
	   b2=new JButton("绿色");
	   b2.addActionListener(new ActionListener(){
		   public void actionPerformed(ActionEvent e) {
			   p2.setBackground(java.awt.Color.green);
		   }
	   });
	   b3=new JButton("蓝色");
	   b3.addActionListener(new ActionListener(){

		@Override
		public void actionPerformed(ActionEvent e) {
			// TODO Auto-generated method stub
			p2.setBackground(java.awt.Color.blue);
		}
		   
	   });
	   f.add(p1,BorderLayout.NORTH);
	   f.add(p2, BorderLayout.CENTER);
	   p1.add(b1);
	   p1.add(b2);
	   p1.add(b3);
	   f.setSize(400, 300);
	   f.setLocation(750, 300);
	   f.setVisible(true);
	   
   }

public static void main(String[] args) {
	// TODO 自动生成的方法存根
	  new Color();
}

}


总结:本次实训整体较好,就是在设立布局时会出现错误,没搞清楚窗口的默认布局为边界布局,而面板的布局为流布局,然后一开始没搞懂窗口布局的构建方法,导致程序出错。在对于面板和窗口的布局设定时要多加注意其默认的布局。还是要自己去多看看书本吧,老师讲的很局限,很多都没讲到。

posted @ 2019-05-22 20:19  何浩南  阅读(120)  评论(0编辑  收藏  举报