JAVA真的适合做图形界面吗?我今天连个简单的布局JAVA都似乎都不能实现,请问我这是哪里出了问题?
我想设计一个400*600的计算器界面,文本框占据400*200,按钮区域占400*400;于是我是用GridBagLayout布局,文本框使用一个名为TextField的panel,占1行1列。按钮区域是名为ButtonArea的panel,占2行1列。但是显示出来的效果两块区域的大小却都是一行一列,我的代码里面明明写得很清楚两个panel占用的大小是不一样的,为什么还会这样呢?问题出在哪里?
还有一个问题我想请问一下,我想把TextField区域的文本显示调整为右下角(现在只是水平居中,我想要的靠下右对齐),请问有办法做到吗?

还有一个问题我想请问一下,我想把TextField区域的文本显示调整为右下角(现在只是水平居中,我想要的靠下右对齐),请问有办法做到吗?

package Calculator;
import javax.swing.*;
import java.awt.*;
public class Calculator{
JFrame calculator;//整体框架
JPanel ButtonArea;//按扭区域
JPanel TextArea;//文字显示区域
JButton button[];//按钮数组
JTextField textField;//文本框
GridBagLayout gridBagLayout;//GridBagLayout布局对象
GridBagConstraints gridBagConstraints;//GridBagLayout条件管理对象
String chars[]={"CE","C","DEL","/","7","8","9","*","4",
"5","6","-","1","2","3","+","0",".","=","SCI"};
Calculator(){
calculator = new JFrame("计算器");//整体框架
ButtonArea = new JPanel();//按扭区域
TextArea = new JPanel();//文字显示区域
button = new JButton[20];
textField=new JTextField("0");
for(int i=0;i<chars.length;i++){
button[i]=new JButton(chars[i]);
}
gridBagLayout=new GridBagLayout();
gridBagConstraints=new GridBagConstraints();
gridBagConstraints.fill=GridBagConstraints.BOTH;
gridBagConstraints.weightx=0.1;
gridBagConstraints.weighty=0.1;
}
void Run(){
calculator.setSize(400, 600);
calculator.setLayout(gridBagLayout);
//下面的用来对GridBayLayout进行布局管理
ButtonArea.setLayout(new GridLayout(5,4));
for(int i=0;i<chars.length;i++)
ButtonArea.add(button[i]);
TextArea.setLayout(gridBagLayout);
gridBagConstraints.gridx=0;
gridBagConstraints.gridy=0;
gridBagConstraints.gridwidth=1;
gridBagConstraints.gridheight=1;
gridBagLayout.setConstraints(textField,gridBagConstraints);
textField.setHorizontalAlignment(SwingConstants.RIGHT);
textField.setFont(new Font("微软雅黑",Font.BOLD,60));
TextArea.add(textField);
gridBagConstraints.gridx=0;
gridBagConstraints.gridy=0;
gridBagConstraints.gridwidth=1;
gridBagConstraints.gridheight=1;
gridBagLayout.setConstraints(TextArea,gridBagConstraints);
calculator.add(TextArea);
gridBagConstraints.gridx=0;
gridBagConstraints.gridy=1;
gridBagConstraints.gridwidth=1;
gridBagConstraints.gridheight=2;
gridBagLayout.setConstraints(ButtonArea,gridBagConstraints);
calculator.add(ButtonArea);
calculator.setVisible(true);
}
public static void main(String args[]) {
new Calculator().Run();
//Calculator
}
}
...全文
相关推荐
Java实现简单日历小程序 Java图形界面小日历开发
主要介绍了Java实现简单日历小程序,如何用Java swing开发一款简单的小日历,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Java图形界面实现汉诺塔游戏
汉诺塔问题,起源于印度一个古老的传说,是计算机科学和数学领域中著名的递归问题。根据传统,僧侣们必须将64个金盘从源塔移动到目标塔,且在移动过程中必须遵守规则:每次只能移动一个盘子,且任何时候大盘子不能放在小盘子上面。汉诺塔问题的解决方案不仅揭示了递归思维的魅力,还展示了递归算法在解决复杂问题中的强大能力。汉诺塔问题的解决之道在于将一个大问题分解为若干个小问题,小问题再依次分解,形成递归。
java图形界面之布局设计
主要介绍了java图形界面之布局设计的相关资料,需要的朋友可以参考下
java图形界面迷宫问题
java迷宫问题值得下载,这个界面内还算精美吧
简单的图形界面实现数据库的增删查改
简单的图形界面实现数据库的增删查改,使用java图形界面对数据库进行增删查改的相关操作,代码简单能够进行简单的修改


Java SE
