2019.05.24

1、设计一个如图所示的界面,不需要提供组件的功能。

第一种:自己的笨方法:

package bbb;

import java.awt.*;
import javax.swing.*;
public class MyFrame {
	JFrame f;
	JPanel p1,p2,p3;
	JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16;
	JTextField t1;
	GridLayout g1,g2;
	BorderLayout g3;
	public MyFrame(){
		f=new JFrame("计算器");
		p1=new JPanel();
		p2=new JPanel();
		p3=new JPanel();
		g1=new GridLayout(1,1,3,3);
		g2=new GridLayout(4,4,3,3);
		g3=new BorderLayout();
		t1=new JTextField(18);
		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("+");
		f.add(p3);
		p1.setLayout(g1);
		p2.setLayout(g2);
		p3.setLayout(g3);
		p3.add(BorderLayout.NORTH,p1);
		p3.add(BorderLayout.CENTER,p2);
		p3.add(p2);
		p1.add(t1);
		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,260);
		f.setVisible(true);
}
	public static void main(String[] args){
		new MyFrame();
	}
}

第二种:利用循环:

package ZQ;

import java.awt.*;
import javax.swing.*;
public class MyFrames {
	JFrame f;
	JPanel p1,p2;
	JButton []a;
	JTextField t;
	BorderLayout b;
	GridLayout g;
	String []c= {"7","8","9","/",
				 "4","5","6","*",
				 "1","2","3","-",
				 "0",".","=","+"};
	public MyFrames() {
		f=new JFrame("计算器");
		p1=new JPanel();
		p2=new JPanel();
		t=new JTextField(30);
		b=new BorderLayout();
		g=new GridLayout(4,4,3,3);
		a=new JButton[16];
		for(int i=0;i<16;i++) {
			a[i]=new JButton();
			a[i].setText(c[i]);
			p2.add(a[i]);
		}
		p2.setLayout(g);
		p1.add(t);
		f.setLayout(b);
		f.add(p1,BorderLayout.NORTH);
		f.add(p2,BorderLayout.CENTER);
		f.setSize(360,300);
		f.setVisible(true);
	}
	public static void main(String[] args) {
		new MyFrames();
	}
}

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

package bbb;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class MyWindow implements ActionListener{
	JFrame f;
	JPanel p1,p2,p3;
	JButton b1,b2,b3;
	BorderLayout b;
	public MyWindow(){
		f=new JFrame();
		p1=new JPanel();
		p2=new JPanel();
		p3=new JPanel();
		b=new BorderLayout();
		b1=new JButton("红色");
		b2=new JButton("绿色");
		b3=new JButton("蓝色");
		f.setSize(400, 300);
		f.setVisible(true);
		f.add(p3);
		p3.setLayout(b);
		b1.addActionListener(this);
		b1.setActionCommand("1");
		b2.addActionListener(this);
		b2.setActionCommand("2");
		b3.addActionListener(this);
		b3.setActionCommand("3");
		p1.add(b1);
		p1.add(b2);
		p1.add(b3);
		p2.setBackground(Color.PINK);
		p1.setBackground(Color.WHITE);
		p3.add(BorderLayout.NORTH,p1);
		p3.add(BorderLayout.CENTER,p2);
	}
	public static void main(String[] args){
		new MyWindow();
	}
	@Override
	public void actionPerformed(ActionEvent arg0) {
		// TODO 自动生成的方法存根
		if(arg0.getActionCommand().equals("1")){
			p2.setBackground(Color.RED);
		}
		else if(arg0.getActionCommand().equals("2")){
			p2.setBackground(Color.GREEN);
		}
		else{
			p2.setBackground(Color.BLUE);
		}
	}
}


posted @ 2019-05-24 11:43  z全  阅读(124)  评论(0)    收藏  举报