java - 我想为每个选项卡添加按钮

标签 java swing tabs jbutton jtabbedpane

我总共有三个选项卡,当用户单击不同的选项卡时,我需要有用户可以单击的按钮。我也想知道如何让我的窗口变大。预先感谢您的回答。

import javax.swing.JFrame;
import javax.swing.JTabbedPane;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.KeyEvent;
import javax.swing.JButton;

public class Tabs extends JPanel {
    public Tabs() {
      super(new GridLayout(10, 10));


JTabbedPane tabbedPane = new JTabbedPane();

tabbedPane.addTab("Initialize", null, null,"Does Nothing");
tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);

tabbedPane.addTab("LLP", null, null, "Does Nothing");
tabbedPane.setMnemonicAt(0, KeyEvent.VK_2);

tabbedPane.addTab("POS", null, null, "Does Nothing");
tabbedPane.setMnemonicAt(0, KeyEvent.VK_3);

add(tabbedPane);

tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);

}

private static void createAndShowGUI() {
  JFrame frame = new JFrame("Tabbed Pane");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  frame.add(new Tabs(), BorderLayout.CENTER);

  frame.pack();
  frame.setVisible(true);
}

public static void main(String[] args) {
  SwingUtilities.invokeLater(new Runnable() {
      public void run() {
  UIManager.put("swing.boldMetal", Boolean.FALSE);
  createAndShowGUI();
      }
  });


 }

}

最佳答案

将组件添加到 JTabbedPane

非常简单。你想在包含面板的 JTabbedPane 上显示按钮,所以你需要先创建按钮和面板,将按钮添加到面板,然后将面板添加到 JTabbedPane。

例子:

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

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

public class TabbedPaneExample {

    private JFrame frame = new JFrame();

    public TabbedPaneExample() {
        JButton btn = new JButton("Test");

        JPanel panel = new JPanel();
        panel.add(btn);

        JTabbedPane tabbedPane = new JTabbedPane();
        tabbedPane.add("Tab1", panel);

        frame.add(tabbedPane, BorderLayout.CENTER);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setMinimumSize(new Dimension(300, 300));
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        TabbedPaneExample main = new TabbedPaneExample();
    }
}

JButton 事件处理

您还询问了如何处理按钮点击事件。这里有很好的解释:A JButton listener example

关于java - 我想为每个选项卡添加按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16651288/

相关文章:

java - 通过组件构造函数 Autowiring 静态成员

java - 将 JTable 定位到 JFrame 内 JPanel 中的 (x,y) 位置

java - 如何通过按 JButton 将文本从一个 JTextField 添加到另一个 JTextField

java - Java 中最好的 "closable TabbedPane"组件是什么?

Java:从链表中查找和删除元素的最佳方法

java - JNA 中的 Marshal.PtrToStructure 等效项

java - Jenkins jdk 经理不见了

windows - 在 JFileChooser 中输入文件名时退格使目录返回一级

c# - 如何迭代其中的选项卡和列表框

javascript - 谷歌浏览器 : can't get current tab's url