Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使我的CE按钮占据最后一行?_Java_Jframe_Jpanel_Jbutton - Fatal编程技术网

Java 如何使我的CE按钮占据最后一行?

Java 如何使我的CE按钮占据最后一行?,java,jframe,jpanel,jbutton,Java,Jframe,Jpanel,Jbutton,我只想把最后一行变成一个按钮。实际上,这是我计算器程序的一部分。我为三角计算创建了另一个面板。当我删除sin、cos、tan按钮时,计算器看起来不太好,最后一行只有一个按钮,其余的都是空白。因此,在删除sin、cos、tan按钮后,我尝试将CE按钮的大小增加.setsize(),但没有成功。我希望有人能帮我 public final class Cal implements ActionListener, KeyListener { Font font = new Font("SansSeri

我只想把最后一行变成一个按钮。实际上,这是我计算器程序的一部分。我为三角计算创建了另一个面板。当我删除sin、cos、tan按钮时,计算器看起来不太好,最后一行只有一个按钮,其余的都是空白。因此,在删除sin、cos、tan按钮后,我尝试将CE按钮的大小增加.setsize(),但没有成功。我希望有人能帮我

public final class Cal implements ActionListener, KeyListener {

Font font = new Font("SansSerif", Font.BOLD, 32);
JFrame frame = new JFrame();
JPanel panel = new JPanel(new GridLayout(6, 4, 4, 4));
JTextField field = new JTextField("0.0");
JButton[][] keys = new JButton[6][5];

final int plus = 1;
final int minus = 2;
final int times = 3;
final int divide = 4;
final int sin = 5;
final int cos = 6;
final int ce = 7;
final int perc = 8;
int op;
double ans = 0;
double accum = 0;
boolean newNumb = true;
String calc = "";

//Assign method 
public void assign() {
    frame.setTitle("Scientific Calculator");
    frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
    frame.setResizable(false);
    frame.setLayout(new BorderLayout());
    frame.add(panel, BorderLayout.CENTER);

    field.setHorizontalAlignment(JTextField.RIGHT);
    field.setEditable(true);
    field.setForeground(Color.red);
    field.setBackground(Color.white);
    field.setToolTipText("Input Box");
    field.setFont(font);

    frame.add(field, BorderLayout.NORTH);
    frame.setVisible(true);
    frame.setSize(430, 430);
    frame.addKeyListener(this);
    // field.addKeyListener(this); //renders field uneditable
    field.requestFocus();
    panel.setBackground(Color.black);
}

[enter image description here][1]//buttons Method    
public void buttons() {
    String action;

    int i, j;
    // create the keys
    keys = new JButton[6][5];
    keys[0][0] = new JButton("7");
    keys[0][1] = new JButton("8");
    keys[0][2] = new JButton("9");
    keys[0][3] = new JButton("+");
    keys[1][0] = new JButton("4");
    keys[1][1] = new JButton("5");
    keys[1][2] = new JButton("6");
    keys[1][3] = new JButton("-");
    keys[2][0] = new JButton("1");
    keys[2][1] = new JButton("2");
    keys[2][2] = new JButton("3");
    keys[2][3] = new JButton("x");
    keys[3][0] = new JButton("0");
    keys[3][1] = new JButton(".");
    keys[3][2] = new JButton("=");
    keys[3][3] = new JButton("/");
    keys[4][0] = new JButton("x³");
    keys[4][1] = new JButton("x²");
    keys[4][2] = new JButton("%");
    keys[4][3] = new JButton("√");
    keys[5][0] = new JButton("sin");
    keys[5][1] = new JButton("tan");
    keys[5][2] = new JButton("cos");
    keys[5][3] = new JButton("CE");
    //i = rows j =colums
    for (i = 0; i < 6; i++) {
        for (j = 0; j < 4; j++) {
            keys[i][j].setFont(font);
            action = (new Integer(i)).toString() + (new Integer(j)).toString();
            keys[i][j].setActionCommand(action);
            keys[i][j].addActionListener(this);
            keys[i][j].setBackground(Color.white);
            keys[i][j].setForeground(Color.red);

            panel.add(keys[i][j]);
        }
    }//end of For loops
}
public final类Cal实现ActionListener、KeyListener{
Font Font=新字体(“SansSerif”,Font.BOLD,32);
JFrame=新JFrame();
JPanel面板=新JPanel(新网格布局(6,4,4,4));
JTextField=新的JTextField(“0.0”);
JButton[][]键=新JButton[6][5];
最终整数加1;
最终整数减=2;
最终整数倍=3;
最终整数除法=4;
最终积分sin=5;
最终int cos=6;
最终int ce=7;
最终int perc=8;
int op;
双ans=0;
双累积=0;
布尔值newNumb=true;
字符串calc=“”;
//赋值方法
公开无效分配(){
frame.setTitle(“科学计算器”);
frame.setDefaultCloseOperation(关闭时退出);
frame.setresizeable(false);
frame.setLayout(新的BorderLayout());
添加(面板、边框布局、中心);
field.setHorizontalAlignment(JTextField.RIGHT);
字段设置为可编辑(true);
设置前景(颜色为红色);
退根地(颜色:白色);
field.setToolTipText(“输入框”);
field.setFont(字体);
框架。添加(字段,边界布局。北);
frame.setVisible(true);
框架。设置尺寸(430430);
frame.addKeyListener(这个);
//field.addKeyListener(this);//使字段不可编辑
field.requestFocus();
面板.立根背景(颜色.黑色);
}
[在此处输入图像描述][1]//按钮方法
公共作废按钮(){
弦作用;
int i,j;
//创建关键点
按键=新的JButton[6][5];
键[0][0]=新的JButton(“7”);
键[0][1]=新的JButton(“8”);
键[0][2]=新的JButton(“9”);
键[0][3]=新的JButton(“+”);
键[1][0]=新的JButton(“4”);
键[1][1]=新的JButton(“5”);
键[1][2]=新的JButton(“6”);
键[1][3]=新的JButton(“-”);
键[2][0]=新的JButton(“1”);
键[2][1]=新的JButton(“2”);
键[2][2]=新的JButton(“3”);
键[2][3]=新的JButton(“x”);
键[3][0]=新的JButton(“0”);
键[3][1]=新的JButton(“.”);
键[3][2]=新的JButton(“=”);
键[3][3]=新的JButton(“/”);
键[4][0]=新的按钮(“x³”);
键[4][1]=新的按钮(“x²”);
键[4][2]=新的JButton(“%”);
键[4][3]=新的JButton(“√");
键[5][0]=新的JButton(“sin”);
键[5][1]=新的按钮(“tan”);
键[5][2]=新的JButton(“cos”);
键[5][3]=新的JButton(“CE”);
//i=行j=列
对于(i=0;i<6;i++){
对于(j=0;j<4;j++){
键[i][j].setFont(font);
action=(新整数(i)).toString()+(新整数(j)).toString();
键[i][j].setActionCommand(动作);
键[i][j].addActionListener(此);
键[i][j]。挫折背景(颜色。白色);
键[i][j]。设置前景(颜色。红色);
面板。添加(键[i][j]);
}
}//循环结束
}