[英]Java GUI JList application
我是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);
}
}
您正在尋找的是“卡片布局”。 卡片布局就像一副卡片,您可以將頂部面向用戶的卡片與卡片中的另一張卡片交換。 套牌中的每張卡片都是另一張包含各種圖形用戶界面的JPanel。 您將需要一個用於創建帳戶,借書,退書等的面板.Oracle網站上的Java教程將指導您完成整個過程,但他們使用的是Combobox而不是像您這樣的列表。
http://docs.oracle.com/javase/tutorial/uiswing/layout/card.html
在您的情況下,您可能希望將卡片布局放在Border Layout的中心面板中。 然后使用列表作為觸發器來更改顯示的卡片。 如果您需要有關如何檢測用戶何時選擇列表中某些內容的幫助,請參閱Oracle的JList教程。
http://docs.oracle.com/javase/tutorial/uiswing/components/list.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.