java swing显示问题

来源:百度知道 编辑:UC知道 时间:2024/06/21 08:37:30
如题,开发一个GUI程序,刚开始运行的时候,是一个空白面板,需要用鼠标动一下边框才能显示里面的内容,不动的话,就不显示,希望能指点一下哈
public class Main {

/**
* @param args
*/
public static void main(String[] args) {
Display display = new Display("Sample Title");// base display frame

display.getContentPane().setLayout(new BorderLayout(1,1));

JPanel panelLeft = new JPanel();// second frame , left
panelLeft.setLayout(new BorderLayout());
display.add(panelLeft, BorderLayout.EAST);
JPanel panelTaskInfo = new JPanel();
panelTaskInfo.setLayout(new BorderLayout());
panelTaskInfo.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));//create the border of the panel
JButton buttonEN = new JButton("Task Information");// 左上角的按钮

panelTaskInfo.add(buttonEN, BorderLayout.NORTH);
JLabel labelTask = new JLabel(

…………
增加控件的代码
………………
………………

把代码贴一下,帮你看看。
真服了。你说你得用鼠标托动一下才出来。就是说有事件之后再出来了。就把那部份贴出来。自己看看这个吧。这个是有线程的。不过也差不多。这个是用repaint来刷新一下的。
import java.awt.*;
import java.applet.*;

public class Time3 extends Applet {
// public class Time3 extends javax.swing.JApplet {
/**
*
*/

private int time = 1;

public void init() {
setBackground(Color.black);
}

public void paint(Graphics screen) {
Graphics2D screen2D = (Graphics2D) screen;
screen2D.setColor(Color.white);
screen2D.drawString(Integer.toString(time), 5, 25);
try {
Thread.sleep(1000);
time++;
repaint();
} catch (InterruptedException e) {

}
}

}

是不是先setvisable(true)
然后又setSize()
或者pack()

我也遇到了这个问题,是因为没有对界面刷新。把 setVisible(true); 往后移就行了