当前位置: 代码迷 >> Java相关 >> java中JTable的一些用法解决思路
  详细解决方案

java中JTable的一些用法解决思路

热度:3559   发布时间:2013-02-25 21:47:37.0
java中JTable的一些用法
我用JTable建了一张表,我希望在我点每一行记录的时候,可以把当前我选的这一行的所有记录传输到我的主界面里面去,怎么弄?就是说我有一个主界面,里面有些按键,当我按下表格这个键时会弹出表格窗口,里面就是一张表格,我现在希望我点表格里面的一行记录时,可以把这个记录传到我的主界面窗体里面去,应该怎么弄呀?或者是加鼠标响应吗???

------解决方案--------------------------------------------------------
JTable加一个鼠标监听事件,单击行的时候,获取该行信息,然后加写到主页面。如:
定义表格,加监听:
JTable mb = new JTable(3,5);
mb.addMouseListener(new KK());

定义监听器
class KK implements MouseListener{

public void mouseClicked(MouseEvent e) {
//获取选中的行号,当然也可以获取到该行的信息
System.out.println(((JTable)e.getSource()).getSelectedRow());
}
。。。。。还有别的代码。。。

------解决方案--------------------------------------------------------
把记录从子窗口传到主界面窗体里面去,,你可以看看下面样能否合你意思
父窗口:
Java code
import java.awt.BorderLayout;import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextArea;public class Test extends JFrame{    JPanel panel_1, panel_2;    JButton button1, button2;    JLabel label;    JTextArea te;    String a = "in button_1_1_1";    String b = "in button_2_2_2";    static String returnText;    //定义接收子窗口返回的数据为静态类型    public Test(){        setTitle("test");        setBounds(200, 100, 500, 500);        Container c = getContentPane();        c.setLayout(new BorderLayout());        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);                                button1 = new JButton("显示子窗口返回的数据");             button2 = new JButton("打开子窗口");        te = new JTextArea(20,20);        label = new JLabel();                panel_1 = new JPanel();        panel_1.setLayout(new FlowLayout(FlowLayout.CENTER, 100, 10));  //设置panel_1的网格        panel_2 = new JPanel();                panel_1.add(button1);        panel_1.add(button2);        panel_2.add(label);                c.add(panel_1, BorderLayout.NORTH);        c.add(panel_2, BorderLayout.CENTER);         //-------------------------------------------------------------------------         button1.addActionListener(new ActionListener(){    //加载button1按钮的事件                public void actionPerformed(ActionEvent e){                    label.setText(getRt());     //--在窗体上显示子窗口返回的数据                }            });         button2.addActionListener(new ActionListener(){    //加载button2按钮的事件                public void actionPerformed(ActionEvent e){                    T frame2 = new T();                    frame2.setVisible(true);   //打开子窗口                }            });    }    public String getRt() {   //get方法        return returnText;    }    public void setRt(String rt) {   //set方法        this.returnText = rt;    }        public static void main(String []args){        Test frame = new Test();        frame.setVisible(true);    }    }子窗口:
  相关解决方案