窗口实训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();
}
}
1631345-20190522200626840-1230793786.png

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

}
1631345-20190522200626841-344336391.png

1631345-20190522200627079-135940281.png
1631345-20190522200634291-1969246900.png

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

转载于:https://www.cnblogs.com/mamba-/p/10908211.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值