在java中选择列表项时,如何向JTabbedPane添加新选项卡

时间:2016-02-09 17:28:15

标签: java swing netbeans

我正在开展“人力资源管理”项目。 在我的项目中,我基本上使用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);
    }

}

截图:

enter image description here

0 个答案:

没有答案