在java中选择列表项时,如何向JTabbedPane添加新选项卡
我正在做一个“人力资源管理”项目。 在我的项目中,我基本上使用在java中选择列表项时,如何向JTabbedPane添加新选项卡,java,swing,netbeans,Java,Swing,Netbeans,我正在做一个“人力资源管理”项目。 在我的项目中,我基本上使用JSplitPane水平划分了主屏幕。 JSplitPane的第二部分进一步垂直分割,其中一侧由JList组成,另一侧为JTabbedPane。 我想将事件侦听器添加到列表中,以便无论何时从JSplitPane的左侧选择列表项,都应该在JSplitPane的右侧打开一个新选项卡。我怎样才能做到这一点 代码: 截图: 您已经差不多完成了(?)。只需将其更改为paneForTasks.addTab(“addemployee”,即要添加的组
JSplitPane
水平划分了主屏幕。
JSplitPane
的第二部分进一步垂直分割,其中一侧由JList
组成,另一侧为JTabbedPane
。
我想将事件侦听器添加到列表中,以便无论何时从JSplitPane
的左侧选择列表项,都应该在JSplitPane
的右侧打开一个新选项卡。我怎样才能做到这一点
代码:
截图:
您已经差不多完成了(?)。只需将其更改为
paneForTasks.addTab(“addemployee”,即要添加的组件)
并可能在前面添加此if语句:如果(!e.getValueIsAdjusting())
<则如果选择实际发生更改,则只会显示一个新选项卡。请确保重新验证选项卡窗格的父级。请参阅,以了解我不再费心解决的问题。感谢您的回复。你能解释一下e.getValueIsAdjusting指定了什么吗?我在网上查了一下,但不明白。
import java.awt.*;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;
import javax.swing.event.*;
public class MainPage extends JFrame implements ListSelectionListener {
JSplitPane mainPane;
JSplitPane subPane;
JList listOfTasks;
JTabbedPane paneForTasks;
String options[] = { "Add a new employee", "Attendance", "Payroll" };
public MainPage() {
setLayout(new GridLayout());
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(0, 0, screenSize.width, screenSize.height);
setVisible(true);
listOfTasks = new JList(options);
listOfTasks.addListSelectionListener(this);
paneForTasks = new JTabbedPane();
subPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, listOfTasks, paneForTasks);
mainPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, labelLogo, subPane);
add(mainPane);
}
public void valueChanged(ListSelectionEvent e) {
paneForTasks.addTab("Add Employee");
}
public static void main(String args[]) {
MainPage obj = new MainPage();
obj.setVisible(true);
}
}