JAVA真的适合做图形界面吗?我今天连个简单的布局JAVA都似乎都不能实现,请问我这是哪里出了问题?

BugsMakeMeHappy 2018-11-28 09:35:53
我想设计一个400*600的计算器界面,文本框占据400*200,按钮区域占400*400;于是我是用GridBagLayout布局,文本框使用一个名为TextField的panel,占1行1列。按钮区域是名为ButtonArea的panel,占2行1列。但是显示出来的效果两块区域的大小却都是一行一列,我的代码里面明明写得很清楚两个panel占用的大小是不一样的,为什么还会这样呢?问题出在哪里?
还有一个问题我想请问一下,我想把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
}
}


...全文
1848 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
realize1020 2020-06-02
  • 打赏
  • 举报
回复
引用 22 楼 Silly-77 的回复:
[quote=引用 21 楼 SmilngCobra 的回复:] 小姐姐你做的好漂亮啊,可以给我们分享一下源码吗
留个邮箱[/quote] 243197645@qq.com
Nonoas 2020-03-02
  • 打赏
  • 举报
回复
想用Java做图形界面,可以学学Javafx
Silly-77 2020-03-01
  • 打赏
  • 举报
回复
引用 33 楼 weixin_45448904 的回复:
[quote=引用 22 楼 Silly-77 的回复:] [quote=引用 21 楼 SmilngCobra 的回复:] 小姐姐你做的好漂亮啊,可以给我们分享一下源码吗
留个邮箱[/quote]9303931@qq.com[/quote] 不好意思 ... 重做系统后把东西搞没了
「已注销」 2020-02-28
  • 打赏
  • 举报
回复
引用 22 楼 Silly-77 的回复:
[quote=引用 21 楼 SmilngCobra 的回复:] 小姐姐你做的好漂亮啊,可以给我们分享一下源码吗
留个邮箱[/quote]9303931@qq.com
BugsMakeMeHappy 2018-12-05
  • 打赏
  • 举报
回复
引用 19 楼 chanchaw 的回复:
桌面应用程序 你不用C#干嘛要用JAVA ??自找没趣
我们老师布置的作业呀,我不得做吗
Csdn技术大神 2018-12-04
  • 打赏
  • 举报
回复
java适合web开发这种不行的
Uchiha Itachi 2018-12-04
  • 打赏
  • 举报
回复
可以在eclipse上下载windowBuilder插件,直接画就可以了
修身_养性 2018-12-03
  • 打赏
  • 举报
回复
引用 22 楼 Silly-77的回复:
[quote=引用 21 楼 SmilngCobra 的回复:]
小姐姐你做的好漂亮啊,可以给我们分享一下源码吗

留个邮箱[/quote] 2250479723@qq.com
灬潜龙在渊 2018-12-03
  • 打赏
  • 举报
回复
我见过用java写的excel,功能还很强大,叫帆软
Silly-77 2018-12-03
  • 打赏
  • 举报
回复
引用 21 楼 SmilngCobra 的回复:
小姐姐你做的好漂亮啊,可以给我们分享一下源码吗

留个邮箱
SmilngCobra 2018-12-03
  • 打赏
  • 举报
回复
小姐姐你做的好漂亮啊,可以给我们分享一下源码吗
红烧大猪蹄子 2018-12-03
  • 打赏
  • 举报
回复
引用 26 楼 qq_43905485的回复:
[quote=引用 24 楼 qq_35952360的回复:][quote=引用 22 楼 Silly-77的回复:][quote=引用 21 楼 SmilngCobra 的回复:]
小姐姐你做的好漂亮啊,可以给我们分享一下源码吗

留个邮箱[/quote] 2250479723@qq.com[/quote] 小姐姐你做的好好看啊,我也想要源码,可以分享一下吗[/quote] 1290164846@qq.com
红烧大猪蹄子 2018-12-03
  • 打赏
  • 举报
回复
引用 26 楼 qq_43905485的回复:
[quote=引用 24 楼 qq_35952360的回复:][quote=引用 22 楼 Silly-77的回复:][quote=引用 21 楼 SmilngCobra 的回复:]
小姐姐你做的好漂亮啊,可以给我们分享一下源码吗

留个邮箱[/quote] 2250479723@qq.com[/quote] 小姐姐你做的好好看啊,我也想要源码,可以分享一下吗[/quote] 1290164869@qq.com
红烧大猪蹄子 2018-12-03
  • 打赏
  • 举报
回复
引用 24 楼 qq_35952360的回复:
[quote=引用 22 楼 Silly-77的回复:][quote=引用 21 楼 SmilngCobra 的回复:]
小姐姐你做的好漂亮啊,可以给我们分享一下源码吗

留个邮箱[/quote] 2250479723@qq.com[/quote] 小姐姐你做的好好看啊,我也想要源码,可以分享一下吗
Cosme 2018-12-03
  • 打赏
  • 举报
回复
我也想要,410655348@qq.com,谢谢
Shanhu1060 2018-12-02
  • 打赏
  • 举报
回复
赞成,java只适合前端web开发。ui很烦
chanchaw 2018-12-01
  • 打赏
  • 举报
回复
桌面应用程序 你不用C#干嘛要用JAVA ??自找没趣
大姨夫斯基 2018-11-30
  • 打赏
  • 举报
回复
不适合。用Java写UI太蛋疼了
混沌鳄鱼 2018-11-30
  • 打赏
  • 举报
回复
说心理话java能开发GUI,但是打包发布代价太大。

Intellij Idea 就是用java的GUI开发。

做这种小工具之类的还是用 C# VB 之类吧,实在不行用Qt也比java省事。
小白爱编程 2018-11-30
  • 打赏
  • 举报
回复
引用 7 楼 Silly-77的回复:

这是我做出的极限了- - 其实java Swing下的类设计非常巧妙,完美的诠释了MVC设计模式。如果理解了就用起来很方便。但是相对于别的语言来开发图形界面来说,java确实挺难得的也不太设施。JAVA还是适合做web开发。
怎么做到的?
加载更多回复(15)
源码链接: https://pan.quark.cn/s/a4b39357ea24 Language: 中文 欢迎来到戈戈圈! 当你点开这个存储库的时候,你会看到戈戈圈的图标↓ 本图片均在知识共享 署名-相同方式共享 3.0(CC BY-SA 3.0)许可协议下提供,如有授权遵照授权协议使用。 那么恭喜你,当你看到这个图标的时候,就代表着你已经正式成为了一名戈团子啦! 欢迎你来到这个充满爱与希望的大家庭! 「与大家创造更多快乐,与人们一起改变世界。 」 戈戈圈是一个在中国海南省诞生的创作企划,由王戈wg的妹妹于2018年7月14日正式公开。 戈戈圈的创作类型广泛,囊括插画、小说、音乐等各种作品类型。 戈戈圈的目前成员: Contributors 此外,支持戈戈圈及本企划的成员被称为“戈团子”。 “戈团子”一词最初来源于2015年生的名叫“团子”的大熊猫,也因为一种由糯米包裹着馅料蒸熟而成的食品也名为“团子”,不仅有团圆之意,也蕴涵着团结友爱的象征意义和大家的美好期盼,因此我们最终于2021年初决定命名戈戈圈的粉丝为“戈团子”。 如果你对戈戈圈有兴趣的话,欢迎加入我们吧(σ≧︎▽︎≦︎)σ! 由于王戈wg此前投稿的相关视频并未详细说明本企划的信息,且相关视频的表述极其模糊,我们特此创建这个存储库,以文字的形式向大家介绍戈戈圈。 戈戈圈自2018年7月14日成立至今,一直以来都秉持着包容开放、和谐友善的原则。 我们深知自己的责任和使命,始终尊重社会道德习俗,严格遵循国家法律法规,为维护社会稳定和公共利益了积极的贡献。 因此,我们不允许任何人或组织以“戈戈圈”的名义在网络平台或现实中发布不当言论,同时我们也坚决反对过度宣传戈戈圈的行为,包括但不限于与戈戈圈无关的任何...

62,627

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧