JTableçæä¸ä¸ªæ¹æ³æ¯getTableModel().è¿åæä¾æ¤ JTable ææ¾ç¤ºæ°æ®ç TableModel.
TableModelæ¯ä¸ä¸ªæ¥å£ï¼å®é
ä¸è¿åçæ¯DefaultTableModelç±»ï¼å®å®ç°äºTableModelæ¥å£ãè¿ä¸ªç±»ä¸æä¸ä¸ªæ¹æ³æ¯void addRow(Object[] rowData)ãå®å°±æ¯å°ä¸è¡æå
¥å°JTableä¸ã
ä¸è¿JTableçsetValueAtæ¹æ³åºè¯¥å°±å¯ä»¥å®ç°ã
楼主å¯ä»¥å®ä¹ä¸ªä¸ä¸ªçº¿ç¨ç±»æ¥å®æã
æ¯å¦ä½ éè¦æå
¥100è¡æ°æ®ï¼å¯ä»¥å¨çº¿ç¨çrunæ¹æ³ä¸åä¸ä¸ªå¾ªç¯ï¼å¨å¾ªç¯ä¸å两è¡ä»£ç ï¼ä¸è¡æ¯setValueAtï¼ä¸è¡æ¯å·æ°JTableï¼ç¶åå让线ç¨ç¡ç ï¼è¿æ ·ä¸è¡ä¸è¡çæ¾ç¤ºçææå°±å¯ä»¥åºæ¥äºï¼
æè
楼主å¯ä»¥ç¨è¿åº¦æ¡æ¥æåçå¾
çæ¶é´ï¼å°±åæå¼netbeansçé£ä¸ªè¿åº¦æ¡ä¸æ ·ï¼è¿ä¸ªå¯ä»¥ç¨JProgressBarç±»ã楼主å¯ä»¥å»æ¥çä¸ä¸
æºä»£ç ãå¦æ楼主è¿æ¯æ²¡æ头绪ï¼æå¹²èå°±å个ä¾åå¾äºï¼
å
³äºç»ä»¶çæ·»å æè
类似设置çªå£ç大å°ï¼å¸å±ç®¡çå¨çæå°±ä¸å解éäºï¼
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.table.*;
public class Test extends JFrame implements ActionListener
{
private JButton button1;
private JButton button2;
private JButton button3;
private DefaultTableModel model;
private JTable table;
private JProgressBar bar;
private JScrollPane scrollpane;
private JPanel panel;
public Test()
{
button1=new JButton("æ¼ç¤º1");
button2=new JButton("æ¼ç¤º2");
button3=new JButton("æ¸
空");
panel=new JPanel();
bar=new JProgressBar(0,100);
String[] colnames={"æ°æ®ä¸","æ°æ®äº"};
model=new DefaultTableModel(colnames,100);
table=new JTable(model);
scrollpane=new JScrollPane(table);
panel.setLayout(new FlowLayout());
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(bar);
this.setLayout(new GridLayout(2,1));
this.setSize(500,600);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(scrollpane);
this.add(panel);
}
public void actionPerformed(ActionEvent e)
{
String command=e.getActionCommand();
if(command.equals("æ¼ç¤º1"))
{
ShowModel show=new ShowModel(true);
Thread thread=new Thread(show);
thread.start();
}
else if(command.equals("æ¼ç¤º2"))
{
ShowModel show=new ShowModel(false);
Thread thread=new Thread(show);
thread.start();
}
else
{
String[] colnames={"æ°æ®ä¸","æ°æ®äº"};
model=new DefaultTableModel(colnames,100);
table.setModel(model);
}
}
private class ShowModel implements Runnable
{
private boolean type;//å½type为trueæ¶ï¼å说ææ¯âæ¼ç¤º1âç线ç¨ï¼falseåç¸å
public ShowModel(boolean type)
{
this.type=type;
}
public void run()
{
if(type)//è¿ä¸ªå°±æ¯è®©çº¿ç¨ç¡ç ï¼å¹¶ä¸è®¾ç½®JTableçå¼
{
try{
for(int i=0;i<100;i++)
{
Test.this.table.setValueAt(String.valueOf(i),i,0);
Test.this.table.setValueAt(String.valueOf(i),i,1);
Thread.sleep(100);
}
}catch(Exception e)
{
e.printStackTrace();
}
}
else//è¿ä¸ªå°±æ¯è¿åº¦æ¡çæ¼ç¤º
{
try{
Test.this.table.setVisible(false);
for(int i=0;i<100;i++)
{
Test.this.table.setValueAt(String.valueOf(i),i,0);
Test.this.table.setValueAt(String.valueOf(i),i,1);
Test.this.bar.setValue(i+1);
Test.this.bar.setString(String.valueOf(i+1)+"%");
Thread.sleep(40);
if(i==99)
{
Test.this.table.setVisible(true);
JOptionPane.showMessageDialog(Test.this,"OK");
Test.this.bar.setValue(0);
}
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
}
public static void main(String[] args)
{
Test test=new Test();
test.setVisible(true);
}
}
追çåèï¼æé®é¢é®æ