【问题标题】:Java Layout Confusion [closed]Java布局混乱[关闭]
【发布时间】:2013-07-12 16:54:27
【问题描述】:

我正在尝试理解 java 布局。但我的框架没有显示。我做错了什么。你能帮忙吗?

public class NewClass {
      NewClass(){
          JFrame f=new JFrame();
          JPanel jPanelcolor=new JPanel();
          JPanel jPanelLayout=new JPanel( new GridLayout(3,3));
          JTextField fieldred=new JTextField();

         JSlider jsred=new JSlider();
         JSlider jsgreen=new JSlider();
         JSlider jsblue=new JSlider();
         jPanelLayout.add(new JLabel("Red"));
         jPanelLayout.add(jsred);
         jPanelLayout.add(fieldred);
         f.getContentPane().add(jPanelcolor, BorderLayout.CENTER);
         f.getContentPane().add(jPanelcolor, BorderLayout.SOUTH);
         f.setVisible(true);
     }

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

【问题讨论】:

  • +1 用于发布几乎是 SSCCE 的内容。不过,您应该学习格式化(缩进)您的代码。每个 IDE 都有一个简单的快捷方式,可以为您完成所有工作。

标签: java swing awt layout-manager


【解决方案1】:

两个主要问题是

  • 您在同一框架内容窗格中添加了两次相同的 jPanelcolor,不包含任何内容
  • 在使框架可见之前不要调用pack(),以使其具有基于其包含的组件的最合适的尺寸。

另一个问题是你不尊重Swing threading rules

【讨论】:

  • 非常感谢你是对的。像这样编写代码或扩展 jframe 有什么区别。因为在我关注的那篇文章中,作者扩展了 jframe
猜你喜欢
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-01
相关资源
最近更新 更多