Java 如何使我的JPanels/JFrames真正显示出来?
我有一个小部件,用于编译关于每个“板”的不同信息,每个信息都存储在一个JLabel中。我把所有的jLabel放进一个JPanel(每个盘子一个JPanel),然后把JPanel放进一个JFrame,因为这似乎是互联网上的共识,是让JPanel真正出现的最佳方式。当我在另一个类中构造widget时,我创建了一个widget数组(每个板块一个widget),因此目标是让这个widget数组(实际上只是一个JFrame,其中包含一个JPanel,其中包含几个jlabel)出现。我不确定哪里出了问题,因为我使用的是setVisible()和add(Component)方法。非常感谢您的任何意见Java 如何使我的JPanels/JFrames真正显示出来?,java,swing,jframe,jpanel,jlabel,Java,Swing,Jframe,Jpanel,Jlabel,我有一个小部件,用于编译关于每个“板”的不同信息,每个信息都存储在一个JLabel中。我把所有的jLabel放进一个JPanel(每个盘子一个JPanel),然后把JPanel放进一个JFrame,因为这似乎是互联网上的共识,是让JPanel真正出现的最佳方式。当我在另一个类中构造widget时,我创建了一个widget数组(每个板块一个widget),因此目标是让这个widget数组(实际上只是一个JFrame,其中包含一个JPanel,其中包含几个jlabel)出现。我不确定哪里出了问题,因
public class BeltView extends JPanel implements BeltObserver {
private Belt belt;
private BeltViewWidget[] _widgets;
public BeltView(Belt b) {
this.belt = b;
belt.registerBeltObserver(this);
setLayout(new GridLayout(belt.getSize(), 1));
_widgets = new BeltViewWidget[belt.getSize()];
for (int i = 0; i < belt.getSize(); i++) {
if (belt != null && belt.getPlateAtPosition(i) != null) {
BeltViewWidget widget = new BeltViewWidget(belt, i);
_widgets[i] = widget;
}
}
for (int j = 0; j < _widgets.length; j++) {
if (_widgets[j] != null) {
add(_widgets[j]);
_widgets[j].setVisible(true);
}
}
}
您可以这样做:
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame();
frame.setTitle("My First Swing Application");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("Welcome");
frame.add(label);
frame.pack();
frame.setVisible(true);
}
我认为您没有将“U帧可见”设置为true。您可以执行以下操作:
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame();
frame.setTitle("My First Swing Application");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("Welcome");
frame.add(label);
frame.pack();
frame.setVisible(true);
}
我认为您没有将“U帧可见”设置为true。1)要更快获得更好的帮助,请发布或。2)考虑在<>代码> jList或<代码> JTAB> /代码>中显示小部件,然后将其放入面板中。对于数据组来说,这通常是一种更好的方法。1)要更快地获得更好的帮助,请发布或。2)考虑在<>代码> jList或<代码> JTAB> /代码>中显示小部件,然后将其放入面板中。对于数据组来说,这通常是一种更好的方法。谢谢你们!我也会试试看。谢谢你们!我也会试试看。