展开全部
收起
2回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Skye

    6人对此回答表示赞同

    package javatest;

    import java.awt.Container;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;

    public class calculatorface extends JFrame{
    /**
    每次用时都要按下clear按钮,然后就是小数点按钮我没有处理,做的不是太好,里面除运算无法计算到小数
    */
    private static final long serialVersionUID = 1581029666853134020L;
    ArrayList<String> al = new ArrayList<String>();
    JButton jb1 = new JButton("1");
    JButton jb2 = new JButton("2");
    JButton jb3 = new JButton("3");
    JButton jb4 = new JButton("4");
    JButton jb5 = new JButton("5");
    JButton jb6 = new JButton("6");
    JButton jb7 = new JButton("7");
    JButton jb8 = new JButton("8");
    JButton jb9 = new JButton("9");
    JButton jb0 = new JButton("0");
    JButton jbxing = new JButton("*");
    JButton jbdian = new JButton(".");
    JButton jbjian = new JButton("-");
    JButton jbjia = new JButton("+");
    JButton jbchu = new JButton("/");
    JButton jbdeng = new JButton("=");
    JButton jbC = new JButton("Clear");
    public JLabel jl = new JLabel("0.",JLabel.RIGHT);
    public calculatorface(){
    super("计算器");
    init();
    }
    public void init(){
    Container c = getContentPane();
    JPanel jp1 = new JPanel();
    JPanel jp2 = new JPanel();
    JPanel jp3 = new JPanel();
    JPanel jp4 = new JPanel();
    JPanel jp5 = new JPanel();
    JPanel jp6 = new JPanel();
    /*设定容器的布局方式*/
    jp1.setLayout(new GridLayout(1,1));
    jp2.setLayout(new GridLayout(1,4));
    jp3.setLayout(new GridLayout(1,4));
    jp4.setLayout(new GridLayout(1,4));
    jp5.setLayout(new GridLayout(1,4));
    jp6.setLayout(new GridLayout(1,4));
    c.setLayout(new GridLayout(6,1));
    /*将文本域放入容器jp1*/
    jp1.add(jl);
    /*将按钮放入容器jp2*/
    jp2.add(jb7);
    jp2.add(jb8);
    jp2.add(jb9);
    jp2.add(jbchu);
    /*
    展开
    6
    0回复
    发布于 7年前

    评论(0)

    收起评论

  • Leonardo

    6人对此回答表示赞同


    text.setEditable(false);// 得写到方法体中去,单独是不能存在的,你看来是写得头晕了哈
    第二个类那样是用不了text.setText();的
    没有这个对象,你把它们写到同一个类中去就没问题了。
    非要这么写,那你得再写个方法将text对象传递出来在第二个类中获取来使用……

    你写得有点儿乱,我也不知道怎么改了!写一个太花时间,我这边给你一个吧!

    你说按钮距离那就是你布局没有处理好!建议直接像下面给出的程序那样!也简单

    出了问题了不怕,问题越多进步越快哈

    有问题你可以加这个群进行提问:5358308,java world!(two)

    给你一个计算器程序

    //第一个类是GUI,两个类放两文件里去
    import javax.swing.*;
    import java.awt.Container;
    import java.awt.event.*;

    public class Calculate_GUI extends JFrame{
    private JPanel p1;
    private JButton keyButton[]=new JButton[16],signButton,clearButton,deleteButton;
    private JTextField outputField;
    private Container contentPane;
    private boolean firstInput=true;
    private Calculate_Model model=new Calculate_Model();

    public Calculate_GUI(){
    p1=new JPanel();
    keyButton[0]=new JButton("1"); //创建各个按钮
    keyButton[1]=new JButton("2");
    keyButton[2]=new JButton("3");
    keyButton[3]=new JButton("/");
    keyButton[4]=new JButton("4");
    keyButton[5]=new JButton("5");
    keyButton[6]=new JButton("6");
    keyButton[7]=new JButton("*");
    keyButton[8]=new JButton("7");
    keyButton[9]=new JButton("8");
    keyButton[10]=new JButton("9");
    keyButton[11]=new JButton("-");
    keyButton[12]=new JButton("0");
    keyButton[13]=new JButton(".");
    keyButton[14]=new JButton("=");
    keyButton[15]=new JButton("+");
    clearButton=new JButton("c");
    signButton=new JButton("+/-");
    deleteButton=new JButton("←");
    outputField=new JTextField(); //它允许编辑单行文本
    outputField.setText("0");
    outputField.setEditable(false); //指示此 TextComponent 是否应该为可编辑的
    contentPane=this.getContentPane(); //返回此窗体的 contentPane 对象;

    this.setSize(250,250);
    p1.setLayout(new java.awt.GridLayout(4,5)); //创建具有4行5列的布局

    for(int i=0;i<keyButton.length;i++) //在容器中画上按钮
    {
    if(i==4) p1.add(deleteButton);
    if(i==8) p1.add(clearButton);
    if(i==12) p1.add(signButton);
    keyButton[i].setFont(new java.awt.Font("Dialog",3,15));//设置字体Dialog字体名,样式,大小
    p1.add(keyButton[i]);
    }

    contentPane
    展开
    6
    0回复
    发布于 8年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部