上机

博客主要围绕Java编程展开,一是介绍了设计特定界面的两种方法,包括自己的笨方法和利用循环的方法;二是讲述了编写可改变背景颜色窗口的内容,还给出了转载来源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、设计一个如图所示的界面,不需要提供组件的功能。
1631303-20190524115836134-2007925393.jpg
第一种:自己的笨方法:

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

1631303-20190524115615890-1331269055.png

第二种:利用循环:

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

1631303-20190524205907398-1487676698.jpg

2、编写可改变背景颜色的窗口。
1631303-20190524115918748-1747644854.jpg

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

1631303-20190524115642527-1135546790.png1631303-20190524115652254-1864414592.png
1631303-20190524115702846-594759766.png1631303-20190524115711832-639679393.png

转载于:https://www.cnblogs.com/quan-2723365710/p/10917199.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值