2011-01-21 50 views
8

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

无论如何,当我尝试使用“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

回答

5

您的窗口大小设置为500,500,因此它的大小为黑色框。右侧的面板显示if你扩大你的屏幕。

用于设置尺寸和最小,最大和首选大小topPanel。然后,而不是将它添加到BorderLayout.WEST删除代码,使用BorderLayout.CENTER来代替。这将允许测试板上留在左边,并将调整您的黑匣子,因为窗口调整大小。

+0

这样我知道我的右面板,因为布局是动态的(whi ch不坏)。但预览尺寸保持在200x200左右。我将添加一个屏幕截图到问题... – WarrenFaith 2011-01-21 14:34:29