我在这个JFrame
中添加了不少对象。但是,在我将它们主要悬停在按钮以及JTextField
之前,它们中的许多都不会出现。我只包含了JSpinner
组件,所以它不长。我的旋转器中是否有任何东西或者我的旋转器缺少会使它们不出现?
我把它剥了很多,所以它只是一个文本字段。仍然没有出现。我把所有东西放在面板上,但仍然没有显示出来。
public static void screen() {
JFrame myFrame = new JFrame("Yore");
myFrame.setAlwaysOnTop(true);
myFrame.setResizable(false);
myFrame.setForeground(Color.BLACK);
myFrame.setSize(300,365);
myFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
myFrame.setVisible(true);
myFrame.setBackground(Color.WHITE);
JPanel panel = new JPanel();
myFrame.setContentPane(panel);
JTextField Username = new JTextField();
Username.setText("Username");
Username.setColumns(10);
panel.add(Username);
}
答案 0 :(得分:0)
尝试使用框架的布局管理器。此外,将JPanel添加到框架并将所有Spinners添加到Panel。
使用正确的布局管理器,您可以以编程方式将Spinners添加到Panel中,这样您就不需要对边界进行硬编码。例如,您还可以在窗口调整大小时调整它们的大小。
看看这里开始使用布局管理器。 https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html
答案 1 :(得分:0)
myFrame.getContentPane()返回一个AWT容器,而不是一个Swing组件。要改变这一点,你必须使用
JPanel panel = new JPanel();
panel.add(..);
myFrame.setContentPane(panel);
panel.validate();
将您的微调器添加到面板中,问题就解决了。
答案 2 :(得分:0)
对不起,我忘记了一句话。
public static void screen() {
JFrame myFrame = new JFrame("Yore");
myFrame.setAlwaysOnTop(true);
myFrame.setResizable(false);
myFrame.setForeground(Color.BLACK);
myFrame.setSize(300,365);
myFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
myFrame.setVisible(true);
myFrame.setBackground(Color.WHITE);
JPanel panel = new JPanel();
myFrame.setContentPane(panel);
JTextField Username = new JTextField();
Username.setText("Username");
Username.setColumns(10);
panel.add(Username);
panel.validate();
}
答案 3 :(得分:0)
向面板添加微调器。然后将面板添加到您的JFrame。
panel.add(spinner_5);