首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JAVA GUI编程入门

JAVA GUI编程入门
EN

Stack Overflow用户
提问于 2018-01-11 21:40:37
回答 1查看 69关注 0票数 1

当我在Eclipse中编译下面的代码时,我希望出现一个窗口,窗口的左上角有一个按钮。相反,按钮具有与窗口相同的大小,并且完全填满了窗口,尽管我假设已经使用"button.setBounds(20,20,200,50);“限制了第11行中的按钮的大小。谁能告诉我我做错了什么或者忘记了什么?

代码语言:javascript
运行
复制
import javax.swing.*;
import java.awt.*;

public class BeobachterGUI {
   public BeobachterGUI() {
       JFrame frame = new JFrame("A frame");
       frame.setSize(new Dimension(600, 600));


       JButton button = new JButton("Click me");
       button.setBounds(20, 20, 200, 50);

       frame.getContentPane().add(button);

       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setResizable(false);
       frame.setVisible(true);
   }


   public static void main(String[] args) {
       SwingUtilities.invokeLater(new Runnable() {

       public void run() {   
       new BeobachterGUI();
       }
   });
   }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-11 22:23:36

JFrame会自动给自己一个默认的BorderLayout,这就是让你的按钮充满整个屏幕的原因。如果你想直接控制按钮的大小和位置,你必须摆脱那个布局管理器。使用下面这行代码:

代码语言:javascript
运行
复制
frame.getContentPane().setLayout(null);

不过,一句忠告:没有布局管理器的工作对于乐趣和实验来说是可以的,但你不应该养成这样的习惯。如果您学习使用布局管理器进行设计,您将获得更好的GUI (并且您的GUI的用户将获得更好的体验)。

要了解我的意思的示例,只需观察当您调整窗口大小时会发生什么:如果您将窗口设置得太小,按钮可能会被截断或完全隐藏。布局管理器将尝试重新定位和/或调整按钮的大小,以使其保持可见。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48208446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档