java项目大小_Java项目仅在调整窗口大小之后出现
小編典典
您需要 在 調(diào)用setVisible(true)JFrame 之后
向GUI添加組件,這是向后的,因?yàn)樵谔砑尤魏螙|西之前渲染GUI都是有意義的,因此以后添加的所有東西都需要重新粉刷才顯示。
取而代之的是,首先添加所有組件,并且只有 然后 通過調(diào)用渲染GUI setVisible(true)上的JFrame。
編輯
此外,你要避免調(diào)用setSize(...)上的任何東西,而是讓自己的組件使用他們preferredSizes并通過調(diào)用大小pack()與顯示它之前的JFrame中setVisible(true)。
編輯2
例如:
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import javax.swing.SwingUtilities;
public class StartingPoint {
private DrawingArea draw;
private JButton b1, b2;
private JPanel userInt;
private JSpinner gravitySpinner;
private JPanel mainPanel = new JPanel();
public StartingPoint() {
mainPanel.setLayout(new BorderLayout());
draw = new DrawingArea();
mainPanel.add(draw, BorderLayout.CENTER);
userInt = new JPanel();
mainPanel.add(userInt, BorderLayout.NORTH);
b1 = new JButton("Start");
b2 = new JButton("aaa");
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
draw.setUp();
}
});
userInt.add(b1);
userInt.add(b2);
SpinnerNumberModel gravityModel = new SpinnerNumberModel(.9, .1, 2, .1);
gravitySpinner = new JSpinner(gravityModel);
userInt.add(gravitySpinner);
}
public JPanel getMainPanel() {
return mainPanel;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame window = new JFrame("Ball");
window.add(new StartingPoint().getMainPanel());
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.pack();
window.setLocationRelativeTo(null);
window.setVisible(true);
}
});
}
}
class DrawingArea extends JPanel {
private static final int PREF_W = 600;
private static final int PREF_H = 400;
public void setUp() {
// TODO finish
}
@Override
public Dimension getPreferredSize() {
return new Dimension(PREF_W, PREF_H);
}
}
2020-09-26
總結(jié)
以上是生活随笔為你收集整理的java项目大小_Java项目仅在调整窗口大小之后出现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拦截器 java_在Java后端如何添加
- 下一篇: java的http请求头信息_HTTP请