【问题标题】:boxlayout and page-y axis : does not work, why?boxlayout 和 page-y 轴:不起作用,为什么?
【发布时间】:2012-02-08 05:53:11
【问题描述】:

有人知道为什么我的窗口的内容没有放在中间吗?
内容只是转到左上角,无论我做了什么修改:我不知道为什么...
我想在 page-y 轴上使用一个简单的 BoxLayout:

package myview;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.io.IOException;

import javax.swing.*;

import Model.Words;

public class MyWindow extends JFrame {
    JLabel myWord = new JLabel();

    public MyWindow(){
        this.setSize(500, 300);
        this.setVisible(true);
        this.setLocationRelativeTo(null);

        JPanel listPane = new JPanel();
        listPane.setLayout(new BoxLayout(listPane, BoxLayout.Y_AXIS));
        //listPane.setAlignmentX(Component.CENTER_ALIGNMENT);

        Words words = new Words();
        this.myWord.setText(words.getWord());
        listPane.add(myWord);
        JLabel myWord2 = new JLabel("test");
        listPane.add(myWord2);
        this.setContentPane(listPane);
        //, BorderLayout.CENTER
        //buttonPane.setLayout(new BoxLayout(buttonPane, BoxLayout.LINE_AXIS));
    }

    public static void main (String[] args){
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                MyWindow mywindow = new MyWindow();
                mywindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

                mywindow.setVisible(true);
            }
        });

    }
}

感谢您的帮助

【问题讨论】:

  • 1) 为了尽快获得更好的帮助,请发帖 SSCCE。 2) 请使用常见的 Java 命名法(例如,小写的包名称) 3) 请找到您的转变 ke 并将其应用于每个句子的第一个单词,以及单词 'I' & 适用于 API 类的任何地方。 4) 不要扩展JFrame。 5) 不要打电话给setSize() 6) Fenetre?那是什么语言?请在发布到以英语为基础的网站的代码中使用英语等效项。 (尽管这对于任何开源来说都是一个很好的原则。)
  • @Andrew Thompson 好的 ;) JFrame 呢?和设置大小?你对我的问题有什么想法吗?谢谢
  • "okay done" 到底做了什么?注意到我推荐了 6 个点,但唯一可以立即观察到的固定点是第 (2) 点。 “JFrame 怎么样?” 更喜欢组合而不是继承(搜索短语)。 "and setSize?" 改为调用pack()“你对我的问题有什么想法吗?”我已经提到过了。 发布 SSCCE。
  • @Andrew Thompson:好吧,放松一下……我编辑了帖子以适应建议,你希望我缩短代码吗?我想如果我只发布构造函数的代码,人们可能没有足够的时间来了解问题出在哪里。我发现如果我在另一个JPanel() 中添加listPane 它实际上可以工作,也许你有更好的选择?我不确定在这里使用最好的技术......如果它不符合要求,很抱歉,如果是这种情况,请告诉我(以及未遵循 SSCCE 的哪一部分)。再一次,放松,呃 :)
  • “好吧,放松一下” 好吧,看看那该死的 SSCCE 文件。如果里面有什么你不明白的,问。您最新评论中的大多数问题都在其中明确解决。 (别担心我,如果你找不到解决方案,也没有任何压力。)

标签: java swing layout


【解决方案1】:

您可能希望在BoxLayout 中的组件之前和之后添加Box.createVerticalGlue

我也会使用Box.createVerticalBox 作为容器。

【讨论】:

    猜你喜欢
    • 2011-06-13
    • 1970-01-01
    • 2015-07-05
    • 2020-06-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    相关资源
    最近更新 更多