我正在开发我的第一个小程序。在测试结果时,我想能够在Eclipse的预览窗口中运行它,而不是总是将小程序部署到jar文件中并在浏览器中打开页面(浏览器缓存让我很烦恼!我总是需要重新启动浏览器...)
无论如何,当我尝试使用“运行为 -> Java小程序”运行应用程序时,我得到了预览,但它总是非常小(大约小于200x200)。当我手动更改大小时,窗口变大了,但内容仍然很小。当我调用
我错过了什么?
到目前为止,我的代码(在宽度为560和高度为500的情况下在浏览器中按预期工作)
无论如何,当我尝试使用“运行为 -> Java小程序”运行应用程序时,我得到了预览,但它总是非常小(大约小于200x200)。当我手动更改大小时,窗口变大了,但内容仍然很小。当我调用
setSize(width, height)
时,窗口开始变大,但内容仍然很小。这里的“小”并不意味着被缩小,它指的是我只看到了黑色面板,白色面板(在浏览器中可见)不可见,因此似乎没有被缩放...我错过了什么?
到目前为止,我的代码(在宽度为560和高度为500的情况下在浏览器中按预期工作)
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Benchmark extends JApplet {
private static final long serialVersionUID = -8767182603875435760L;
GridLayout gridLayout = new GridLayout(7, 1);
JButton startTests = new JButton("Start");
JPanel testPanel = new JPanel();
JPanel topPanel = new JPanel();
@Override
public void init() {
super.init();
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
invalidate();
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void initComponents() {
setSize(660, 500);
topPanel.setBackground(Color.BLACK);
topPanel.setSize(500, 500);
testPanel.setBackground(Color.WHITE);
testPanel.setSize(160, 500);
getContentPane().add(topPanel, BorderLayout.WEST);
getContentPane().add(testPanel, BorderLayout.EAST);
testPanel.setLayout(gridLayout);
testPanel.add(new JLabel("Triangles"));
testPanel.add(new JLabel("Pyramids"));
testPanel.add(new JLabel("Cubes"));
testPanel.add(new JLabel("Blending"));
testPanel.add(new JLabel("Spheres"));
testPanel.add(new JLabel("Lights"));
testPanel.add(new JLabel("Mass"));
}
}
截图应该显示问题。如果窗口的大小为660x500(使用setSize()
设置),可见区域将保持较小: