| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1237 人关注过本帖
标题:初学者 编计算器面板 却不能换行
只看楼主 加入收藏
Sukiyou
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-5-6
收藏
 问题点数:0 回复次数:8 
初学者 编计算器面板 却不能换行

我用java编了个计算器的面板,
第一行是一个TextField
第二行是Backspace、CE、C
第3行是MC 7 8 9 / sqrt
第3行是MR 4 5 6 * %
第3行是MS 1 2 3 - 1/X
第3行是M+ 0 +/- . + =
程序如下,各位高手帮帮忙 谢谢~~
import java.awt.*;

public class Jisuanqi extends Frame{
public Jisuanqi(){
GridBagLayout grid=new GridBagLayout();
GridBagConstraints c=new GridBagConstraints();

setLayout(grid);
c.fill=GridBagConstraints.BOTH;
c.gridwidth=GridBagConstraints.REMAINDER;
add(new TextField());

c.gridwidth=2;
add(new Button("Backspace"));
add(new Button("CE"));

c.gridwidth=GridBagConstraints.REMAINDER;
add(new Button("C"));

c.gridwidth=1;
add(new Button("MC"));
add(new Button("7"));
add(new Button("8"));
add(new Button("9"));
add(new Button("/"));

c.gridwidth=GridBagConstraints.REMAINDER;
add(new Button("sqrt"));


add(new Button("MR"));
add(new Button("4"));
add(new Button("5"));
add(new Button("6"));
add(new Button("*"));

c.gridwidth=GridBagConstraints.REMAINDER;
add(new Button("%"));


add(new Button("MS"));
add(new Button("1"));
add(new Button("2"));
add(new Button("3"));
add(new Button("-"));

c.gridwidth=GridBagConstraints.REMAINDER;
add(new Button("1/x"));


add(new Button("M+"));
add(new Button("0"));
add(new Button("+/-"));
add(new Button("."));
add(new Button("+"));

c.gridwidth=GridBagConstraints.REMAINDER;
add(new Button("="));

}
public static void main(String args[]){
Jisuanqi fr=new Jisuanqi();
fr.setTitle("计算器");
fr.pack();
fr.setVisible(true);
}

}

搜索更多相关主题的帖子: 计算器 面板 java public 
2006-12-24 10:04
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

这个,是不是直接用GridLayout更加方便?..

import java.awt.*;
import java.util.*;
import javax.swing.*;

public class Calc extends JFrame{
private JTextField jtfNumber;
private JButton jbBackSpace,jbCE,jbC;
private JButton[] jbNum;

public Calc(){
super("Calc");
initFrm();

this.setSize(400,300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private void initFrm(){
Container container = this.getContentPane();
JPanel panelNorth = new JPanel();
panelNorth.setLayout(new GridLayout(2,1));

jtfNumber = new JTextField();
jbBackSpace = new JButton("BackSpace");
jbCE = new JButton("CE");
jbC = new JButton("C");

JPanel panelJb = new JPanel();
panelJb.setLayout(new GridLayout(1,3));
panelJb.add(jbBackSpace);
panelJb.add(jbCE);
panelJb.add(jbC);

panelNorth.add(jtfNumber);
panelNorth.add(panelJb);

container.add(panelNorth,BorderLayout.NORTH);

String[] strNum = new String[]{"MC","7","8","9","/","sqrt","MR","4","5","6","*","%",
"MS","1","2","3","-","1/x","M+","0","+/-",".","+","="};

jbNum = new JButton[strNum.length];
JPanel panelCenter = new JPanel();
panelCenter.setLayout(new GridLayout(4,6,5,5));

for(int i=0;i<strNum.length;i++){
jbNum[i] = new JButton(strNum[i]);
panelCenter.add(jbNum[i]);
}

container.add(panelCenter,BorderLayout.CENTER);
}

public static void main(String[] args){
new Calc();
}
}


我的msn: myfend@
2006-12-24 10:50
smoon
Rank: 1
等 级:禁止访问
帖 子:461
专家分:0
注 册:2006-4-29
收藏
得分:0 

找个工具把。。。。。写界面简单死拉都。。。。


QQ:860660016
网站:http://
承接各种C#项目中。。。。。
2006-12-24 16:13
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
找工具?...那只是逃避问题.而不是解决问题.

我的msn: myfend@
2006-12-24 16:14
Sukiyou
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-5-6
收藏
得分:0 
还没有学那个wing 哦
我现在想知道为什么我的程序不行
亲爱的purnan帮我看看好不?
谢谢了

2006-12-24 16:23
Sukiyou
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-5-6
收藏
得分:0 
很漂亮呢
我仔细看看你编的
很感谢你

2006-12-24 16:27
ttrr550
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2006-11-5
收藏
得分:0 
c.fill=GridBagConstraints.BOTH;
c.gridwidth=GridBagConstraints.REMAINDER;
只两句都只是 对组件做了约束条件的设定!!
还要在布局中指定此约束条件!! 用setConstraints(Component comp, GridBagConstraints constraints)方法!
比如此处修改为:

TextField text1= new TextField();
c.fill=GridBagConstraints.BOTH;
c.gridwidth=GridBagConstraints.REMAINDER;
grid.setConstraints(text1, c); //设置此布局中指定组件的约束条件。
add(text1);

下面的button也是类似的!
自己该吧!!

[此贴子已经被作者于2006-12-24 16:59:54编辑过]


2006-12-24 16:58
xueer
Rank: 1
等 级:新手上路
威 望:1
帖 子:511
专家分:0
注 册:2004-10-8
收藏
得分:0 
实在不行就拿绝对坐标画嘛   ....

2006-12-24 22:56
Sukiyou
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-5-6
收藏
得分:0 
试试
谢谢大家
爱你们^_^
圣诞节快乐^_^

2006-12-25 00:10
快速回复:初学者 编计算器面板 却不能换行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029890 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved