日期:2014-05-20  浏览次数:20732 次

请问:java成绩管理系统如何dispose一个面板!急……
例:我想新建一个面板jframe!用设置BorderLayout北部我放按钮(如删除,添加,查询……);南部我放一个JScrollPane面板并在这个面板里面添加table(用于显示数据库信息)!现在问题是:我点击删除按钮后希望dispose即销毁原来的table更新新建一个新的table还是放到原来的位置而不用再新建jframe了!请问如何实现呢?就是不知道在删除了一条记录后如何把面板上面的数据实时更新呢!!!请大家赐我力量吧……万分感谢

------解决方案--------------------
楼主把原来table的数据删除然后重新填充这样不就可以了吗
------解决方案--------------------
把表设置成你那个panel的属性,建立一个方法更新表。
{
this.remove(Table)
Table.setColumnModel(TableColumnModel columnModel)
Table.setModel(TableModel dataModel)
this.add(Table);
}
如果加上JScrollPanel要复杂点自己去搞啦!
------解决方案--------------------
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

import javax.swing.JLabel;
import javax.swing.JTextArea;


public class GetMessage extends Thread{
private int i;
String v;

JLabel label=null;
private JTextArea text;
public GetMessage(int i,JTextArea text) {

this.i=i;
this.text=text;
}

public void run(){
try {
ServerSocket so = new ServerSocket(i);
Socket s = so.accept();
while(true){
InputStreamReader i = new InputStreamReader(s.getInputStream());
BufferedReader b = new BufferedReader(i);
v= b.readLine();
text.append("对方说"+v+"\n");
}
} catch (IOException e) {
//label.setText("对方已经下线");
text.append("对方下线了。。。");
}
}
}



SendMessage.java客户端:


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;

import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class SendMessage extends Thread {
private String ip;
private int i;
Socket s = null;
JLabel label=null;
JTextField text;
JTextArea text1;
public SendMessage(String ip,int i,JTextArea text1) {
// TODO Auto-generated constructor stub
this.ip=ip;
this.i=i;
this.text1=text1;

}


public void run(){
 
while(true){
try {
s = new Socket(ip,i);
text1.setText("连接成功"+"\n");
break;
} catch (Exception e) {
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
System.out.println("出错了。。。。");
}

}
 
}
 
public void send(String message)
{
try {



PrintStream p = new PrintStream(s.getOutputStream());

p.println(message);


} catch (Exception e1) {
System.out.println("异常"+e1.getMessage());
}
}
 
 
}



Test.java 简单的界面和测试类


import java.awt.*;import java.awt.event.*;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.*;import javax.swing.*;
import javax.swing.event.*;
class WindowTextArea extends JFrame implements ActionListener
{

String s;
JTextArea text1;
JTextArea text2;
JButton button1,button2,button3;
SendMessage t2;
GetMessage t1;
JLabel lable1,lable2;
JTextField text;

WindowTextArea() 
{ this.s=s;
 
lable1=new JLabel("对方ip");
text=new JTextField(20);
 
 
text1=new JTextArea(6,18);
text2=new JTextArea(6,18);
text2.setEditable(false);
button1=new JButton("发送");