程序如下
期待的运行结果是JList有三行显示但是多运行几次此程序会发现有的时候一行都没有显示出来
几率大概是20%左右
请问这是bug还是程序有问题呢?import java.awt.BorderLayout;
import java.util.Vector;import javax.swing.JFrame;
import javax.swing.JList;@SuppressWarnings("serial")
public class ListTest extends JFrame { //Vector <String> data;
private JList list;
/**
* Launch the application
* @param args
*/
@SuppressWarnings("unchecked")
public static void main(String args[]) {
Vector <String> myData = new Vector();
try {
ListTest frame = new ListTest( myData );
frame.setVisible(true);
myData.add("line 3");
frame.repaint();
} catch (Exception e) {
e.printStackTrace();
}
} /**
* Create the frame
*/
@SuppressWarnings("unchecked")
public ListTest( Vector <String> data ) {
super();
//this.data = data;
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); data.add( "line 1" );
data.add( "line 2" );
list = new JList( data );
getContentPane().add(list, BorderLayout.CENTER);
//
}}
期待的运行结果是JList有三行显示但是多运行几次此程序会发现有的时候一行都没有显示出来
几率大概是20%左右
请问这是bug还是程序有问题呢?import java.awt.BorderLayout;
import java.util.Vector;import javax.swing.JFrame;
import javax.swing.JList;@SuppressWarnings("serial")
public class ListTest extends JFrame { //Vector <String> data;
private JList list;
/**
* Launch the application
* @param args
*/
@SuppressWarnings("unchecked")
public static void main(String args[]) {
Vector <String> myData = new Vector();
try {
ListTest frame = new ListTest( myData );
frame.setVisible(true);
myData.add("line 3");
frame.repaint();
} catch (Exception e) {
e.printStackTrace();
}
} /**
* Create the frame
*/
@SuppressWarnings("unchecked")
public ListTest( Vector <String> data ) {
super();
//this.data = data;
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); data.add( "line 1" );
data.add( "line 2" );
list = new JList( data );
getContentPane().add(list, BorderLayout.CENTER);
//
}}
头几次一般都是3行的 但是偶尔会出现什么都不显示的情况 你用的jdk是什么版本的?