2013-05-21 31 views
1

我想让我的JPanel更大。我有三个选项卡,但是当我运行程序时,并不是所有的选项都显示(除非我点击箭头)。我只需要知道如何使面板更大,所以,我不会有点击箭头使JPanel更大

import java.awt.BorderLayout; 
import java.awt.Dimension; 

import javax.swing.JButton; 
import javax.swing.JPanel; 
import javax.swing.JFrame; 
import javax.swing.JTabbedPane; 


public class TestApplication { 
    public static void main(String[] args) { 
    JFrame frame = new JFrame(); 
    frame.setSize(1000, 1000); 
    frame.setTitle("RBA Test Application"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setVisible(true); 

    JButton initialize = new JButton("Initialize"); 
    JButton connect = new JButton("Connect"); 
    JButton disconnect = new JButton("Disconnect"); 
    JButton shutdown = new JButton("Shut Down"); 
    JButton portsettings = new JButton("Port Settings"); 


    JPanel buttonPanel = new JPanel(); 
    buttonPanel.add(initialize); 
    buttonPanel.add(connect); 
    buttonPanel.add(disconnect); 
    buttonPanel.add(shutdown); 
    buttonPanel.add(portsettings); 
    frame.add(buttonPanel); 
    frame.add(buttonPanel, BorderLayout.NORTH); 

    frame.pack(); 

    JTabbedPane tabbedPane = new JTabbedPane(); 
    tabbedPane.addTab("LLP", null, null, "Low Level Protocol"); 
    tabbedPane.addTab("POS",null, null, "Point Of Sale"); 
    tabbedPane.addTab("Test", null, null, "Test"); 

    JPanel tabsPanel = new JPanel(); 
    tabsPanel.add(tabbedPane); 
    frame.add(tabsPanel); 
    tabsPanel.setPreferredSize(new Dimension(900, 900)); 
    frame.add(tabsPanel, BorderLayout.CENTER); 

    frame.pack(); 



    } 






} 
+0

我想让我的JPanel tabsPanel更大 –

回答

1

给你tabsPanel一个体面的布局,即BorderLayout的:

JPanel tabsPanel = new JPanel(new BorderLayout()); //!! 

注意,你不应该被添加成分两次到GUI:

frame.add(buttonPanel); 
    frame.add(buttonPanel, BorderLayout.NORTH); 

而且也没有必要呼吁包()一次以上。
此外,您不应该致电setSize(...),而是更好地覆盖关键组件的getPreferredSize()

+0

谢谢你的工作! –

+0

你能告诉我如何将按钮添加到每个选项卡?我需要8个按钮到我的LLP选项卡,但我不知道该怎么做 –

+0

@KendraCheatham:这看起来是第二个无关的问题,应该在本网站的单独线索中提出。如果你这样做,你可以通过解释你想要做什么来澄清它,因为你的评论不清楚。 –