java - 让 JPanel 变得更大

标签 java swing tabs size 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();



    }






}

最佳答案

给你的 tabsPanel 一个合适的布局,即 BorderLayout:

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

请注意,您不应将组件两次添加到 GUI:

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

并且无需多次调用 pack()。
另外,您不应该调用 setSize(...) ,而最好重写关键组件的 getPreferredSize()

关于java - 让 JPanel 变得更大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16677158/

相关文章:

java - 命令完成后 JSch 会退出吗?

java - 为什么在 Java 中我们必须写 Enum.Val 而在 switch 中只写 Val?

java - JSONObject 不从二维码获取数据

java - 使用 Appium 处理 Android 应用中的弹出窗口

java - 如何设置某些特定 JButton 组件(在本例中为 btnPlus)的尺寸?

java - 如何通过单击在 JButton 上添加 JTextField?

HTML/CSS 标签 : Labels taking on the properties of other labels

java - 在扩展和实现同一个类时遇到问题

css - 基础框架上的选项卡问题

android - 如何在 viewpager 和分段 Controller 中实现不同 ListView 的搜索功能