【问题标题】:Add method using panels as subcontainers添加使用面板作为子容器的方法
【发布时间】:2017-02-26 10:43:07
【问题描述】:

运行以下代码,它只会打开一个没有任何按钮和子面板的空窗口。谁能帮帮我?

public class TestPanels extends JFrame{
    public TestPanels(){
        //Create first panel
        JPanel panel1= new JPanel();
        panel1.setLayout(new GridLayout(4, 3));

    for(int i=1; i<=9; i++){
            panel1.add(new JButton( ""+i));
            }

        // Create Second panel 
        JPanel panel2=new JPanel(new BorderLayout());       
        panel2.add(new JTextField("Time to Display Here"), BorderLayout.NORTH);
        panel2.add(panel1, BorderLayout.CENTER);

    }

    public static void main(String[] args){
        TestPanels test= new TestPanels();

        test.setTitle("Test Panel");

    }
}

【问题讨论】:

  • 您没有将面板添加到框架中。另外,我认为这段代码不会显示任何内容,框架甚至都不可见。
  • @Berger “我认为这段代码不会显示任何内容,框架甚至都不可见。” 好点:为了尽快获得更好的帮助,请发布minimal reproducible exampleShort, Self Contained, Correct Example实际代码,而不是一些假装是示例的无意义代码。

标签: java user-interface panel layout-manager


【解决方案1】:

这里真正的问题是:学习 Swing 与您学习 Java 的第一步“不同”。

我的意思是:为了在屏幕上获得一个 JFrame,需要调用某些方法。然后,为了在 JFrame 中加入“一些东西”,还需要做更多的事情。

含义:通过“反复试验”来学习 Swing UI 是行不通的。与您之前可能学过的东西相比,您最好从教程开始,例如 Oracle 的 one 并遵循它。只有到那时,当事情真正奏效时——然后你才考虑用你自己的代码来增强它们!

所以我的答案不包含获得结果所需的多行代码,但建议寻找更详细解释这些事情的资源!因为无论您之后想做什么,只有在您仔细研究所需的上下文进入“行动模式”时,才能再次发挥作用。

【讨论】:

    猜你喜欢
    • 2012-09-27
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多