簡體   English   中英

Java GUI JList應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM