baidu_37667514 2017-02-26 05:20 采纳率: 0%
浏览 845

java求解~~~大神帮帮忙

图片说明
想做类似上图的这种,黄色区域先不要,不求具体实现,想先做出页面效果
新生刚开始学,感觉脑子一团浆糊,想做出显示框有两行字的这种效果,不知道怎摸做,本来想用网格布局但是不会放0和=,求各位大神指教一下,下面是已经写了的部分语句,写的很乱(真不会了)
import javax.swing.*;
import javax.lang.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;

class window1 extends JFrame {

String data[]={"1","2","3","4","5","6","7","8","9"};
JButton btn1[]=new JButton[9];
String op1[]={"+","-","*","/"};
JButton btn2[]=new JButton[4];
JButton reset=new JButton("C");
JButton clear=new JButton("CE");
JButton b1=new JButton("0");
JButton b2=new JButton(".");
JButton b3=new JButton("=");

JPanel sp = new JPanel();//显示框区域
JPanel bp=new JPanel();
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel();
JPanel p5=new JPanel();
JPanel p6=new JPanel();
JPanel p7=new JPanel();
int i;
JTextField sw_input=new JTextField(20);
JTextField sw_show=new JTextField(20);

JMenuBar bar=new JMenuBar(); //菜单
JMenu edit=new JMenu("编辑");
JMenu find=new JMenu("查看");
JMenu help=new JMenu("帮助");
JMenuItem copy=new JMenuItem("复制") ;
JMenuItem zhantie=new JMenuItem("粘贴") ;
JMenuItem biaozhun=new JMenuItem("标准型") ;
JMenuItem kexue=new JMenuItem("科学型") ;
JMenuItem lookhelp=new JMenuItem("查看帮助") ;

window1(String s){

super(s);
edit.add(copy); //菜单
edit.add(zhantie);
find.add(biaozhun);
find.add(kexue);
edit.addSeparator();
help.add(lookhelp);
bar.add(edit);
bar.add(find);
bar.add(help);
setJMenuBar(bar);

setBackground(Color.LIGHT_GRAY);// 背景颜色
setBounds(500,500,345,480);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);// 不许修改计算器的大小
//setLocationRelativeTo(null);//居中显示
//pack();// 使计算器中各组件大小合适
setLayout(null);//设置空布局

sw_input.setEditable(false); // 不允许修改文本框
sw_input.setBackground(Color.WHITE);// 文本框背景颜色
//Panel calckeysPanel = new Panel();//计算器上键的按钮键在一个内

Font font_lab = new Font("arial", Font.BOLD, 22);//显示框布局
sw_input.setText("0");
sw_input.setHorizontalAlignment(JTextField.RIGHT); // 文本框右对齐
sw_input.setFont(font_lab);
font_lab = new Font("arial", Font.BOLD, 10);
sw_show.setText("sqrt");
sw_show.setHorizontalAlignment(JTextField.RIGHT); // 文本框右对齐
sw_show.setFont(font_lab);
sp.setBounds(14, 15, 300, 50);//设置显示框区域的位置的大小
sp.setLayout(null);//设置空布局
sp.setBorder(BorderFactory.createLineBorder(new Color(142,156,173)));//设置边框*/
sp.setLayout(new BorderLayout());
add("North",sw_input);add("Center",sw_show);
sp.setVisible(true);
add(sp);
/*Font font_but = new Font("arial", Font.BOLD, 10);//创建按钮字体
p1.setLayout(new GridLayout(4,1,6,6));//按键布局
p2.setLayout(new GridLayout(3,3,6,6));//按键布局
for(i=0;i<btn1.length;i++){
btn1[i]=new JButton(data[i]);
btn1[i].setPreferredSize(new Dimension(33,24));
btn1[i].setFont(font_but);//设置按钮字体
p2.add(btn1[i]);
//btn1[i].addActionListener(new ActionListener());//添加监听器
}
for(i=0;i<btn2.length;i++){
btn2[i]=new JButton(op1[i]);
btn2[i].setPreferredSize(new Dimension(33,24));
btn2[i].setFont(font_but);//设置按钮字体
btn2[i].setFont(font_but);//设置按钮字体
p1.add(btn2[i]);
// btn2[i].addActionListener(new ActionListener());
}
p3.setLayout(new BorderLayout());
b3.setPreferredSize(new Dimension(33,54));
p3.add("North",reset);p3.add("Center",clear);add("South",b3);
p4.setLayout(new BorderLayout());
b1.setPreferredSize(new Dimension(72,24));
p4.add("West",b1);p4.add("East",b2);
p5.setLayout(new BorderLayout());
p5.add("North",p2);p5.add("Center",p4);
bp.setLayout(new BorderLayout());
bp.add("East",p3);bp.add("Center",p1);bp.add("West",p5);
bp.setLayout(new BorderLayout());
bp.add("East",p3);bp.add("Center",p1);bp.add("West",p5);*/

}
}

public class jisuanqi3 {
public static void main(String args[]) {
window1 w=new window1("计算器");
}
}

  • 写回答

3条回答

  • sinat_33978482 2017-02-26 10:06
    关注

    是不是该监听器了, 我也是新手

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!