javaguijlist应用程序

javaguijlist应用程序,java,swing,user-interface,jlist,Java,Swing,User Interface,Jlist,我是JavaGUI的初学者 我正在尝试使用JList构建用户界面,其中用户从已定义的列表中选择一个项目,与该特定项目相关的面板将显示在列表的右侧。这是我的目标。虽然,我想实现的第一个是能够显示某些面板时,某些菜单项被选中,我觉得很难由于我的 这就是我到目前为止所做的 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import javax.swing.JFrame; import javax.

我是JavaGUI的初学者

我正在尝试使用JList构建用户界面,其中用户从已定义的列表中选择一个项目,与该特定项目相关的面板将显示在列表的右侧。这是我的目标。虽然,我想实现的第一个是能够显示某些面板时,某些菜单项被选中,我觉得很难由于我的

这就是我到目前为止所做的

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;

import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListSelectionModel;

public class MainGUI extends JFrame{

    JList list = new JList(
            new String[]{"Create Account","Borrow Book","Return Book",
                 "Add Book","Delete Book","Display Details"}
    );

    public MainGUI()
    {
        JPanel panel = new JPanel();
        JPanel panel1 = new JPanel();
        list.setForeground(Color.RED);
        list.setBackground(Color.WHITE);
        list.setSelectionForeground(Color.GREEN);
        list.setSelectionBackground(Color.LIGHT_GRAY);
        list.setFixedCellWidth(150);
        list.setFixedCellHeight(50);
        list.setFont(new Font("Serif",Font.BOLD,16));
        list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        panel.add(list);
        add(panel,BorderLayout.WEST);
    }

    public static void main(String[] args) {
        MainGUI frame = new MainGUI();          
        frame.setSize(500, 350);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }    
}

你要找的是一张“卡片布局”。卡片布局就像一副卡片,你可以将最上面的面向用户的卡片与卡片组中的另一张卡片交换。牌组中的每一张牌都是另一个JPanel,其中包含各种GUI。您需要一个面板来创建帐户、借书、还书等。Oracle网站上的Java教程可以很好地指导您完成这一过程,但他们使用的是组合框,而不是像您一样的列表

在您的情况下,您可能希望将卡片布局放在边框布局的中心面板中。然后使用您的列表作为触发器来更改显示的卡。如果您需要有关如何检测用户何时在列表中选择某项内容的帮助,请参阅Oracle的JList教程