我正在开展“人力资源管理”项目。
在我的项目中,我基本上使用JSplitPane
水平划分主屏幕。
JSplitPane
的第二部分进一步垂直划分,其中一侧由JList
组成,另一侧为JTabbedPane
。
我想在列表中添加事件监听器,这样无论何时从JSplitPane
的左侧选择列表项,都应在JSplitPane
的右侧打开一个新选项卡。我怎样才能做到这一点?
代码:
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);
}
}
截图: