繁体   English   中英

如何在JPanel中的JScrollPane中对齐JPanel中的Jbutton

[英]how to align Jbuttons within JPanel within JScrollPane within JPanel

我试图将JTextPane封装在JButtons内,JPanel内,JScrollPane内和JPanel内,再次返回整个面板。 以下是我的代码,但是它水平显示按钮。 如何以及在哪里使这些按钮适合面板? 答案似乎很明显,但我仍然无法正确回答。

            JTextPane tp = new JTextPane();  
            JScrollPane sp = new JScrollPane();

            SimpleAttributeSet attribs = new SimpleAttributeSet();  
            StyleConstants.setAlignment(attribs , StyleConstants.ALIGN_CENTER);  
            tp.setParagraphAttributes(attribs,true);            
            tp.setEditable(false);
            tp.setOpaque(false);
            tp.setPreferredSize(new Dimension (100,100));

            JButton jb = new JButton();
            jb.setPreferredSize(new Dimension(100, 100));
            //jb.setHorizontalAlignment(SwingConstants.CENTER);         

            tp.setText(food_Name);          
            jb.add(tp);

            panel1.add(sp);
            sp.add(panel2);
            panel2.add(jb);

如建议的那样,您需要使用布局管理器。

从左到右然后从上到下放置FlowLayout( 默认

BorderLayout-五个固定位置,北,南,东,西,中

BoxLayout-在单行或单列中

GridLayout-在具有标准大小的行和列的网格的单元格内

边框布局的示例代码-在Java API上检查布局管理器是否适用于其他

public MySupportPanel () { // constructor
    setLayout( new BorderLayout() );
    JButton b1 = new JButton("Button 1");
    JButton b2 = new JButton("Button 2");
    JButton b3 = new JButton("Button 3");
    JButton b4 = new JButton("Button 4");
    JButton b5 = new JButton("Button 5");

    add(b1, BorderLayout.CENTER);
    add(b2, BorderLayout.NORTH);
    add(b3, BorderLayout.SOUTH);
    add(b4, BorderLayout.EAST);
    add(b5, BorderLayout.WEST);
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM