在eclipse中运行我的applet的大小“以applet身份运行”

时间:2011-01-21 13:48:26

标签: java eclipse applet

我正在做我的第一个applet。在测试结果时,我希望能够在预览窗口中的eclipse中运行它,而不是总是将applet部署到jar中并在浏览器中打开页面(浏览器缓存会杀死我!我总是需要重新启动浏览器.. 。)

无论如何,当我尝试使用“run as - > Java Applet”运行应用程序时,我得到了预览,但它总是非常小(猜测低于200x200)。当我改变每只手的大小时,窗口会增长,但内容会保持很小。当我呼叫setSize(width, height)窗口开始变大时,内容保持较小。小并不意味着它缩小,这意味着我只看到黑色面板,白色(在浏览器中可见)是不可见的,所以它似乎没有缩放......

我错过了什么?

到目前为止我的代码(在宽度为560,高度为500的broswer中效果如预期的那样)

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()设置,则可见区域保持较小:Java Applet

1 个答案:

答案 0 :(得分:5)

您的窗口大小设置为500,500,因此它的大小与您的黑匣子相同。如果您加宽屏幕,则右侧的面板可见。

删除用于设置topPanel的大小以及最小,最大和首选大小的代码。然后,不要将其添加到BorderLayout.WEST,而是使用BorderLayout.CENTER。这将允许测试面板保持在左侧,并在窗口调整大小时调整黑盒的大小。