【问题标题】:Having a TableLayout Issue有 TableLayout 问题
【发布时间】:2013-05-28 09:38:51
【问题描述】:
public void createWindow2(){
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setPreferredSize(new Dimension(400, 500));
        setLocationRelativeTo(null);
        setContentPane(new JLabel(new ImageIcon("src\\resources\\registerBg.png")));
        setResizable(false);
        setVisible(false);


        double size[][] = {{TableLayout.FILL,70,10,200,TableLayout.FILL}, //COLUNAS
                {TableLayout.FILL,30,5,30,5,30,5,30,5,30,5,30,82.5,30,82.5}}; //LINHAS
        setLayout(new TableLayout(size));

(...)

//Botoes JPanel
            buts = new JPanel();
            double size2[][] = {{TableLayout.FILL,100,5,100,TableLayout.FILL}, //COLUNAS
                    {TableLayout.FILL}}; //LINHAS
            buts.setLayout(new TableLayout(size2));
            add(buts,"0,4,13,13");
                //Continuar
                continuar = new JButton("Continuar");
                buts.add(continuar,"1,0");
                //Voltar
                voltar =new JButton("Voltar");
                buts.add(voltar,"3,0");

这是该框架运行的图像

http://oi42.tinypic.com/m83cko.jpg

我花了很多时间试图找出为什么按钮不出现,但我没有找到原因,有人可以帮我解决这个问题吗?

【问题讨论】:

  • Java swing(它被称为“java”编程语言的可视化代码)en.wikipedia.org/wiki/Swing_(Java)
  • 我知道 Java 和 Swing 是什么,但 JSwing 又是什么?我没有看到使用该术语,并且我怀疑它是否真的存在于这种情况下。在此处提问时,请尽量准确,以免造成混淆。
  • 您在哪里下载了 TableLayout?你的图书馆的来源是什么?它不是标准 Swing 布局的一部分,并且可能有一个与库一起使用的 API,可以帮助您和我们解决您的问题。
  • 谢谢。从您的问题标题中删除“JSwing”。

标签: java swing button tablelayout


【解决方案1】:

只是从我的脑海中思考,但这段代码对你有用。看来您添加的按钮不正确;至少从我的角度来看。下面的代码将为您工作。

public class ButtonFrame extends JFrame
{
    private JButton plainJButton;
}

public ButtonFrame() {
    plainJButton = new JButton( "Plain Button" );
    add( plainJButton );
}

【讨论】:

  • 这不起作用,因为我将框架布局设置为“TableLayout”[setLayout(new TableLayout(size));],并且此布局适用于您设置行和行的数组框架,所以当你添加一个对象时,你需要指定你想在哪一行和哪一行添加它。您可以在此处获取有关此布局的更多信息:clearthought.info/sun/products/jfc/tsc/articles/tablelayout/…
  • 你必须这样做吗? LayoutManager(在 java.awt 包中)是公认的方法。其中,您有 GridLayout 可以完成与您正在寻找的类似的事情。
  • @kgdesouz:GridLayout 用于此目的会很糟糕,标签和文本字段的表格布局。 GridBagLayout、GroupLayout 或 MigLayout 会更好。
  • @HovercraftFullOfEels:同意,GroupLayout 等人在这里会更好。关键是 java.awt 中的 LayoutManager 是要走的路。
  • @kgdesouz:不一定。我发现在许多情况下,在创建此类表格数据输入屏幕时使用 MigLayout 等 3rd 方布局管理器会更容易。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多