我目前正在做我的第一个小程序。在测试结果时,我希望能够在预览窗口中的 eclipse 中运行它,而不是总是将小程序部署到 jar 中并在浏览器中打开页面(浏览器缓存杀了我!我总是需要重新启动浏览器.. .)
不管怎样,当我尝试使用“运行方式 -> Java Applet”运行应用程序时,我得到了预览,但它总是很小(猜测低于 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"));
}
}
The screenshot should show the problem. If the window has the size of 660x500 (set with setSize()
the visible area stays small:
您的窗口大小设置为 500,500,因此黑匣子的大小也是如此。如果您扩大屏幕,则可以看到右侧的面板。
删除用于设置大小以及最小、最大和首选大小的代码topPanel
。然后不要将其添加到BorderLayout.WEST
, use BorderLayout.CENTER
反而。这将使测试面板保持在左侧,并随着窗口大小的调整而调整黑框的大小。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)