![](/img/trans.png)
[英]How do I add MouseListeners to an individual panel in a grid of panels?
[英]How do I add MouseListeners to JList items?
所以,我想要的是選擇JList
項時要運行的另一段代碼。 但是我的問題是,如何為特定的JList
項實現MouseListeners
?
這是我的代碼:
public void launchFrame() {
String selection1 = "";
String[]mainContents = {"Vehicles","Bikes/Bicycles","Boats","Houses","Businesses","Objects","Jobs","Ranks","Licenses"};
String[]selectionVehicles = {};
String[]selectionBikesBicycles = {};
String[]selectionBoats = {};
String[]selectionHouses = {};
String[]selectionBusinesses = {};
String[]selectionObjects = {};
String[]selectionJobs = {};
String[]selectionRanks = {};
String[]selectionLicenses = {};
JFrame f = new JFrame("MTG SAMP Server Reference");
JList listAll = new JList(mainContents);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.pack();
f.setSize(1200, 800);
f.setLocationRelativeTo(null);
f.add(listAll);
listAll.setSize(250, 250);
listAll.setLocation(50, 50);
switch (selection1) {
case "Vehicles":
JList listVehicles = new JList(mainContents);
f.add(listVehicles);
listVehicles.setSize(250, 250);
listVehicles.setLocation(350, 50);
f.repaint();
f.revalidate();
break;
case "Bikes/Bicycles":
JList listBikesBicycles = new JList(mainContents);
f.add(listBikesBicycles);
listBikesBicycles.setSize(250, 250);
listBikesBicycles.setLocation(350, 50);
f.repaint();
f.revalidate();
break;
case "Boats":
JList listBoats = new JList(mainContents);
f.add(listBoats);
listBoats.setSize(250, 250);
listBoats.setLocation(350, 50);
f.repaint();
f.revalidate();
break;
case "Houses":
JList listHouses = new JList(mainContents);
f.add(listHouses);
listHouses.setSize(250, 250);
listHouses.setLocation(350, 50);
f.repaint();
f.revalidate();
break;
case "Businesses":
JList listBusinesses = new JList(mainContents);
f.add(listBusinesses);
listBusinesses.setSize(250, 250);
listBusinesses.setLocation(350, 50);
f.repaint();
f.revalidate();
break;
case "Objects":
JList listObjects = new JList(mainContents);
f.add(listObjects);
listObjects.setSize(250, 250);
listObjects.setLocation(350, 50);
f.repaint();
f.revalidate();
break;
case "Jobs":
JList listJobs = new JList(mainContents);
f.add(listJobs);
listJobs.setSize(250, 250);
listJobs.setLocation(350, 50);
f.repaint();
f.revalidate();
break;
case "Ranks":
JList listRanks = new JList(mainContents);
f.add(listRanks);
listRanks.setSize(250, 250);
listRanks.setLocation(350, 50);
f.repaint();
f.revalidate();
break;
case "Licenses":
JList listLicenses = new JList(mainContents);
f.add(listLicenses);
listLicenses.setSize(250, 250);
listLicenses.setLocation(350, 50);
f.repaint();
f.revalidate();
break;
}
Container contentPaneMain = f.getContentPane();
contentPaneMain.add(new MTGSAMPServerReference());
}
我該怎么做才能將MouseListeners
添加到JList
項目“車輛”,“自行車/自行車”,“船”,“房屋”,“企業”,“對象”,“工作”,“行列”和“許可證” ?
如果您希望在更改選擇項時發生某些事情,則不需要MouseListener,而需要ListSelectionListener
。 它不僅是正確的抽象,而且請記住,不使用鼠標就可以更改選擇。 如今,大多數計算機都有鍵盤。
Swing教程中描述了如何使用它。
在您的偵聽器內部,獲取選定的元素,然后采取相應的行動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.