gpt4 book ai didi

java - 如何在 JPanel 内部使用 JList 以便设置列表的边界?

转载 作者:行者123 更新时间:2023-12-01 11:17:09 25 4
gpt4 key购买 nike

我在 Java 中使用 JList 时遇到问题。我看过有关如何使用它们的视频教程,但它们都以某种布局来使用它们。我希望它的“setPreferedLayout”为空,并且我可以使用 setBounds 方法来决定我的列表和按钮在窗口上的位置。当我这样做时,我执行诸如frame.add(list)或panel.(list)之类的操作将其添加到我的面板中,它不会显示在窗口上,但我的按钮会显示。

我有这样的东西:

    //DECLARATION
JFrame f = new JFrame("main Window");
JPanel p = new JPanel();

int WIDTH = 800;
int HEIGHT = 650;

public static JList mainList;
String[] mainArray = {"one","two","three"};

//INIT
public mainClass() {
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(p);
f.setVisible(true);
p.setLayout(null);
p.setPreferredSize( new Dimension(WIDTH,HEIGHT) );
f.pack();
p.setVisible(true);

p.setFocusable(true);

System.setProperty("sun.java2d.opengl","true");
Thread thr1 = new Thread (r1);
thr1.start();

mainList = new JList(mainArray);
mainList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
mainList.setSelectedIndex(0);
mainList.setVisibleRowCount(3);
JScrollPane listScrollPane = new JScrollPane(mainList);
}

再次,我正在尝试创建一个 JList,我可以将其放在我想要的任何位置。这基本上就是我想要得到的。每当我尝试以 Jbuttons 的工作方式对其进行编辑(设置其边界并将其添加到面板)时,当我运行程序时它不会显示...

最佳答案

public mainClass() {
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

mainList = new JList(mainArray);
mainList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
mainList.setSelectedIndex(0);
mainList.setVisibleRowCount(3);
JScrollPane listScrollPane = new JScrollPane(mainList);
p.add(listScrollPane);
f.add(p);
p.setPreferredSize( new Dimension(WIDTH,HEIGHT) );
f.pack();
f.setVisible(true);
p.setFocusable(true);

System.setProperty("sun.java2d.opengl","true");
Thread thr1 = new Thread (r1);
thr1.start();


}

这应该可以工作,你从来没有将你的列表添加到面板中,而且你设置比 pack() 可见,那是行不通的。您应该做的最后一件事是设置可见。

关于java - 如何在 JPanel 内部使用 JList 以便设置列表的边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31685207/

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