有一个窗体:
 
上面有 一个表格(有n行,2列) 表格下面是一个JTextPane组件表格中有值要实现的功能(鼠标点击事件):  点击某一行,该行中两列的值都显示到JTextPane组件中

解决方案 »

  1.   

    /*
     * MainFrame.java
     *
     * Created on 2009年6月1日, 下午1:37
     */package mainframe;
    import javax.swing.*;
    import java.awt.*;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import javax.swing.table.DefaultTableModel;
    /**
     *
     * @author  Administrator
     */
    public class MainFrame extends javax.swing.JFrame {
        
        /** Creates new form MainFrame */
         public DefaultTableModel tableModel =new DefaultTableModel ();
        public MainFrame() {
            super("飞鸽客户端");
            initComponents();
            try{     
                  SwingUtilities.updateComponentTreeUI(this.rightMouseMenu);   
              }catch(Exception   ex){
                  ex.printStackTrace();
            }  
        }
        
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">     下面是自动生成的代码                       
        private void initComponents() {
            rightMouseMenu = new javax.swing.JPopupMenu();
            jMenuItem1 = new javax.swing.JMenuItem();
            jMenuItem2 = new javax.swing.JMenuItem();
            jScrollPane1 = new javax.swing.JScrollPane();
            jTable1 = new javax.swing.JTable();
            jLabel1 = new javax.swing.JLabel();
            jButton1 = new javax.swing.JButton();
            jScrollPane2 = new javax.swing.JScrollPane();
            jTextPane1 = new javax.swing.JTextPane();
            close = new javax.swing.JButton();
            send = new javax.swing.JButton();        jMenuItem1.setText("Item");
            rightMouseMenu.add(jMenuItem1);        jMenuItem2.setText("Item");
            rightMouseMenu.add(jMenuItem2);        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setBackground(new java.awt.Color(204, 255, 204));
            addWindowListener(new java.awt.event.WindowAdapter() {
                public void windowClosing(java.awt.event.WindowEvent evt) {
                    formWindowClosing(evt);
                }
            });        jTable1.setModel(new javax.swing.table.DefaultTableModel(
                new Object [][] {
                    {"10.255.6.88", new Integer(8080), null, null},
                    {"10.255.1.55", new Integer(8080), null, null},
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null}
                },
                new String [] {
                    "IP", "Port", "Title 3", "Title 4"
                }
            ) {
                Class[] types = new Class [] {
                    java.lang.String.class, java.lang.Integer.class, java.lang.Object.class, java.lang.Object.class
                };            public Class getColumnClass(int columnIndex) {
                    return types [columnIndex];
                }
            });
            jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    jTable1MouseClicked(evt);
                }
            });        jScrollPane1.setViewportView(jTable1);        jLabel1.setText("\u5728\u7ebf\u4eba\u6570:");        jButton1.setText("\u5237\u65b0");        jScrollPane2.setViewportView(jTextPane1);        close.setText("\u5173\u95ed");
            close.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(java.awt.event.MouseEvent evt) {
                    closeMouseClicked(evt);
                }
            });        send.setText("\u53d1\u9001");        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addGroup(layout.createSequentialGroup()
                            .addGap(24, 24, 24)
                            .addComponent(close)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 162, Short.MAX_VALUE)
                            .addComponent(send)
                            .addGap(29, 29, 29))
                        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 319, Short.MAX_VALUE))
                        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 319, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jLabel1)
                        .addComponent(jButton1))
                    .addContainerGap())
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup()
                            .addGap(63, 63, 63)
                            .addComponent(jLabel1)
                            .addGap(15, 15, 15)
                            .addComponent(jButton1))
                        .addGroup(layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(22, 22, 22)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(send)
                        .addComponent(close)))
            );
            pack();
        }// </editor-fold>                 上面是自动生成的代码                                      
      

  2.   

        private void jTable1MouseClicked(java.awt.event.MouseEvent evt) { //就是这个事件不知道怎么写                                    
    // TODO 将在此处添加您的处理代码:
           int mods=evt.getModifiers();
            //鼠标右键
            rightMouseMenu.show(send,   evt.getX(),   evt.getY()); 
            int index[]=jTable1.getSelectedRows ();
            
            for( int i = 0;i <= index.length; i ++){
                String str =  (( String ) tableModel.getValueAt ( index[i] ,2 ) );
                System.out.println(index.length);
            }
        
           
        }                                        private void closeMouseClicked(java.awt.event.MouseEvent evt) {                                   
    // TODO 将在此处添加您的处理代码:
            this.dispose();
        }                                  
        
        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new MainFrame().setVisible(true);
                }
            });
        }
        
        // 变量声明 - 不进行修改                     
        private javax.swing.JButton close;
        private javax.swing.JButton jButton1;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JMenuItem jMenuItem1;
        private javax.swing.JMenuItem jMenuItem2;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JScrollPane jScrollPane2;
        private javax.swing.JTable jTable1;
        private javax.swing.JTextPane jTextPane1;
        private javax.swing.JPopupMenu rightMouseMenu;
        private javax.swing.JButton send;
        // 变量声明结束                   
        
    }这是用netbeans5.5做的大家帮帮忙呀   事件里的代码怎样写    才能实现我上面说的功能原本是作飞鸽的,功能是:点一行获得IP和端口,进行信息的发送;
    可是关键是  我想先试试怎样获取 表中一行里的值,就想让值先获取到JTextPane 组件里  ;
    然后在进行飞鸽的这一功能的实现 
    我上网下载了飞鸽的源代码  可是都起零八散的  还是自己一步一步实现功能吧
      

  3.   

    int selectedRow = table.getSelectedRow();//获得鼠标选中行
    String value1 = (String)table.getValue(selectedRow,0);
    String value2 = (String)table.getValue(selectedRow,1);