Java 这是我在框架上打印jtable的代码

Java 这是我在框架上打印jtable的代码,java,swing,jtable,Java,Swing,Jtable,我添加了MouseListener以从表中选择一个特定的行,行的内容将在控制台上打印,但我想在新的框架上打印此内容,对此我应该做些什么。 我附上了我的代码和表格的截图。 谢谢你的帮助 这是我的密码 final JTable table = new JTable(data, columnNames); JScrollPane scrollPane = new JScrollPane( table ); cp.add(scrollPane,BorderLayout.CENTE

我添加了MouseListener以从表中选择一个特定的行,行的内容将在控制台上打印,但我想在新的框架上打印此内容,对此我应该做些什么。 我附上了我的代码和表格的截图。 谢谢你的帮助

这是我的密码

    final JTable table = new JTable(data, columnNames);
    JScrollPane scrollPane = new JScrollPane( table );
    cp.add(scrollPane,BorderLayout.CENTER);
    frame.add(cp);
    frame.setSize(300,300);
    frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
    frame.pack();
    frame.setVisible(true);
    table.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e){
         if(e.getClickCount()==1){
            JTable target = (JTable)e.getSource();
        System.out.println(target);
            int row = target.getSelectedRow();
        System.out.println(row);
        Object [] rowData = new Object[table.getColumnCount()];
        Object [] colData = new Object[table.getRowCount()];
        for(int j = 0;j < table.getRowCount();j++)
            for(int i = 0;i < table.getColumnCount();i++)
            {
               rowData[i] = table.getValueAt(j, i);
               System.out.println(rowData[i]);
             }
          }
       }
    });
}
final JTable table=新JTable(数据、列名);
JScrollPane scrollPane=新的JScrollPane(表);
cp.add(滚动窗格,BorderLayout.CENTER);
帧。添加(cp);
框架。设置尺寸(300300);
frame.setDefaultCloseOperation(关闭时退出);
frame.pack();
frame.setVisible(true);
表.addMouseListener(新的MouseAdapter(){
公共无效mouseClicked(MouseEvent e){
如果(如getClickCount()==1){
JTable target=(JTable)e.getSource();
系统输出打印项次(目标);
int row=target.getSelectedRow();
系统输出打印项次(行);
Object[]rowData=新对象[table.getColumnCount()];
Object[]colData=新对象[table.getRowCount()];
对于(int j=0;j
当您输出结果(
System.out.println(rowData[i]);
)时,只需创建一个新的JFrame并将要输出的文本放在此处:

...
JFrame secondFrame = new JFrame();
JPanel myPanel = new JPanel();
for(int j = 0;j < table.getRowCount();j++){
    for(int i = 0;i < table.getColumnCount();i++){
           rowData[i] = table.getValueAt(j, i);
           JLabel label = new JLabel(rowData[i]);
           myPanel.add(label);
    }
}
secondFrame.add(myPanel);
secondFrame.setVisible(true);
....
。。。
JFrame secondFrame=新JFrame();
JPanel myPanel=新的JPanel();
对于(int j=0;j
首先,如果使用swing创建图形界面,则不能使用System.out.print。
您需要设置标签中的每一行并以这种方式打印出来。如果它是一个标签,那么您可以在鼠标侦听器方法中用鼠标选择它,调用新的JFrame, 在该JFrame中,将所选行的内容放入构造函数参数


JFrame newframe=新JFrame(“选定内容”)使用AddActionListener您希望它如何显示?另一个问题是为什么?您已经在表中显示了数据?您没有以任何方式对其进行扩展…您是对的…实际上我希望在下一帧显示选定的数据。您能帮我一下吗?我尝试了很多,但都不起作用。我尝试了这个,但它的原理是我更新了代码。主要的想法是为每个要输出的数据创建一个新的
JLabel
,并在一个简单的
JFrame
中显示所有这些
JLabel
。我没有试着编译这段代码,也许你对这段代码没有什么修正柯,但主要的想法是在这里。你能告诉我如何选择一个完整的行到标签中,并在新的框架上打印它吗?我尝试了,但它在新的框架上打印每个列。我想在新的列上显示所有的属性。你必须在选定的行单元格上使用for循环。并将每个单元格值附加到字符串变量中,然后将变量传递给n电子战框架形式