程序框A 从数据库中读取数据库两个字段的信息 形成表的形式  (表的形式为: 一列为名称    一列为结果 名称是固定的)鼠标右键单击一行的其中一个名称的结果处 出现 另一个程序框B 在B里面输入内容 点确定 把内容能返回到 鼠标右键单击那一行的结果处!!!!
高手帮忙写个出来 万分感谢!!

解决方案 »

  1.   


    ---Aimport java.awt.BorderLayout;
    import java.awt.Component;
    import javax.swing.DefaultCellEditor;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableColumn;
    import javax.swing.table.TableColumnModel;
    public class test19 extends JFrame
    {
    public test19()
    {
    super("输入文本测试");
    String value[][]=
    {
    {"1","2"}
    };
    String columnName[]={"测试一","测试二"};
    DefaultTableModel model=new DefaultTableModel(value,columnName);
    JTable table=new JTable(model);
    TableColumnModel colmodel=table.getColumnModel();for(int index=0;index<columnName.length;index++)
    {
    TableColumn tc = colmodel.getColumn(index);
    JTextField editor=new JTextField();
    MyCellEditor cellEditor=new MyCellEditor(editor);
    cellEditor.setClickCountToStart(1);
    tc.setCellEditor(cellEditor);
    }
    this.add(new JScrollPane(table),BorderLayout.CENTER);
    this.setSize(300, 200);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);
    }
    public static void main(String args[])
    {
    new test19();
    }
    }
    class MyCellEditor extends DefaultCellEditor
    {
    public MyCellEditor(JTextField textField) 
    {
    super(textField);
    }
    ///可以通过重载这个方法,来设置单元格的属性
    public boolean stopCellEditing()
    {String value=(String)this.getCellEditorValue();
    if(value.equals("1234"))
    {
    ((JTextField)this.getComponent()).setText("");
    return false;
    }
    else 
    return super.stopCellEditing();}
    }单击表2的框 跳出B
    ----Bimport java.awt.Container; 
    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.JTextArea; 
    public class ZT extends JFrame implements ActionListener{ JTextArea t4 = new JTextArea();//结果框; 
    JLabel label; 
    JButton qd =new JButton("确定"); public ZT(){ 
    setTitle("B"); 
    setSize(300,400); 
    //setUndecorated(true); //框上面没有缩小化最大化和关闭 
    setResizable(false); 
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
    Container cp = getContentPane(); 
    label=new JLabel(); 
    cp.add(label); t4.setBounds(0, 0, 300, 300); 
    label.add(t4); 
    qd.setBounds(100, 320, 100, 30); 
    qd.addActionListener(this); 
    label.add(qd); } public static void main(String[] args) { 
    ZT fr =new ZT(); fr.setVisible(true); 
    } public void actionPerformed(ActionEvent e) { 
    // TODO Auto-generated method stub } } -----
                                            !!!!!!!!!!----A里面那个表是读取数据库的 也就是 随数据库改变的     那么要把在B的输入的内容 传回到鼠标点击的位置-----
      

  2.   

    没用过电脑的人吧,那叫右键打开对话框,通过对话框修改结果,被描述成这样了,my god
      

  3.   

    只能在B里定义一个A的引用的属性.
    在A里单击时,new一个B同时把当前A的引用传过去.
    在B的actionPerformed方法中,把修改的数据直接填到A中对应的位置上.