我在做的是JAVA的应用程序.   
  有一个结果查询,需要对所得的结果进行打印,
  程序由三个Jpane构成,用的是GridLayoutd布局,   
  第一个Jpanel做的查询条件,   
  第二个Jpanel中做了一个Jtable     
  第三个Jpanel中只有一个Jbutton   
  在点击第一个Jpanel中的查询时,结果显示到Jtable中,(这步我实现了)   
    
  问题是在点第三个Jpanel中的JButton时,怎么才能实现对第二个Jpanel中的Jtable   
  进行打印......   

解决方案 »

  1.   

    1.在JButton上加鼠标事件监听
    2.取得Jtable对象
    3.从Jtable对象中取出数据进行打印
    1.鼠标事件监听
                jButton.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent e) {
                        print(e);                }
                });
      2.在print方法中取得Jtable对象并打印     for(int row = 0; row < jTable.getRowCount(); row++){
    Object val_1 = jTable.getValueAt(row, column1);
    Object val_2 = jTable.getValueAt(row, column2);
    Object val_3 = jTable.getValueAt(row, column3);
    Object val_4 = jTable.getValueAt(row, column4);
    ......     }
        // 打印
                           ......
      

  2.   

    在第三个面板中加你想要的那个面板的JbInit方法中加构造方法:
    Jpanel j=new Jpanel();
     再在JButton的单击事件中加代码
    j.……;
      

  3.   

    在 第二个Jpanel中做了一个Jtable ,如果选择某一行,让所选的行在第三个Jpanel中显示出来。然后点打印按钮打印出这一行的信息 
      这样该怎么做?        
      

  4.   

    方法已经告诉你了,选择的时候要触发事件,因此你要加上事件监听BUTTON也好,Jpanel的一行也好都是一个道理
    哪一行的监听器被触发,就可以获取到该行的ROW INDEX,然后
                 Object val_1 = jTable.getValueAt(row, column1);
                Object val_2 = jTable.getValueAt(row, column2);
                Object val_3 = jTable.getValueAt(row, column3);
                Object val_4 = jTable.getValueAt(row, column4);
                ......
    获取到整个行的数据,数据获取到了打印应该没什么好说的了