gpt4 book ai didi

Java GUI JList 应用程序

转载 作者:行者123 更新时间:2023-12-02 06:38:03 25 4
gpt4 key购买 nike

我是 Java GUI 的初学者。

我正在尝试使用 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);
}
}

最佳答案

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

http://docs.oracle.com/javase/tutorial/uiswing/layout/card.html

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

http://docs.oracle.com/javase/tutorial/uiswing/components/list.html

关于Java GUI JList 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19433087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com