第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > java jpanel刷新_JPanel重绘问题

java jpanel刷新_JPanel重绘问题

时间:2019-07-10 16:52:49

相关推荐

java jpanel刷新_JPanel重绘问题

JPanel重绘问题

我有一个JFrame,其中包含2个JPanel子类和BorderLayout中的2个JLabel。其中一个JPanel包含JButtons,另一个用于显示图形。JLabels位于北部和南部,西部是JPanel按钮,中间是JPanel。

显示JPanel需要不断刷新,所以我通过swing计时器生成的动作事件调用它的repaint()方法。我也覆盖它的paintComponent()方法来做我的绘图。

而不是显示我绘制的内容,“JFrame的内容”被绘制到显示JPanel上。我知道在完成绘图之前,我可以通过使用g.fillRect()或super.paintComponent()简单地“清除”显示JPanel。

我只是好奇为什么会这样。

我正在使用jdk 1.6u27。下面是我的代码:packagetest;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;publicclassMain{publicstaticvoidmain(String[]args){

Simulationsim=newSimulation();

}}classSimulationextendsJFrame{

publicJLabelstate;

privateJLabelid;

privateButtonPanelcontrol;

privateDisplaydisplay;

publicSimulation(){

id=newJLabel("Test");

state=newJLabel("Test");

control=newButtonPanel();

display=newDisplay(this);

this.setLayout(newBorderLayout());

this.add(id,BorderLayout.NORTH);

this.add(control,BorderLayout.WEST);

this.add(display,BorderLayout.CENTER);

this.add(state,BorderLayout.SOUTH);

this.setSize(500,600);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicButtonPanelgetControl(){

returnthis.control;

}}classButtonPanelextendsJPanelimplementsActionListener{

publicJButtonb[]=newJButton[8];

publicbooleanbp[]=newboolean[8];

publicButtonPanel(){

this.setLayout(newGridLayout(8,1));

for(inti=0;i

b[i]=newJButton(""+i);

b[i].addActionListener(this);

bp[i]=false;

this.add(b[i]);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。