Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文本区域或选项窗格中的两列_Java_Swing_Jtextarea_Joptionpane - Fatal编程技术网

Java 文本区域或选项窗格中的两列

Java 文本区域或选项窗格中的两列,java,swing,jtextarea,joptionpane,Java,Swing,Jtextarea,Joptionpane,例如,我需要制作两列: Item Name Item Price Item ID Hello 42.25 10041 Another Item 822.00 12405 ... ... ... 我能做两个专栏吗?它可以位于JTextArea上,也可以位于JOptionPane.showMessageDial

例如,我需要制作两列:

Item Name          Item Price          Item ID
Hello              42.25               10041
Another Item       822.00              12405
...                ...                 ...
我能做两个专栏吗?它可以位于JTextArea上,也可以位于JOptionPane.showMessageDialog内。

您应该使用它,因为使用它更好

但是,即使你想这样做,你也可以这样做

jTextArea.setText("Items Name\t\tItem Price\t\tItem ID\n");  
jTextArea.append("Hello\t\t42.25\t10041\t\t?\n");  
jTextArea.append("Another Item\t\t822.00\t\t12405\t?\n");        
你应该使用,因为使用它更好

但是,即使你想这样做,你也可以这样做

jTextArea.setText("Items Name\t\tItem Price\t\tItem ID\n");  
jTextArea.append("Hello\t\t42.25\t10041\t\t?\n");  
jTextArea.append("Another Item\t\t822.00\t\t12405\t?\n");        

你可以这样做

        StringBuilder builder = new StringBuilder() ;
        builder.append("<html><table border=1><tr><td>Item Name</td><td>Item Price</td><td>Item Code</td></tr>");
        for( Item item_ : itemList ) {
            builder.append("<tr><td>");
            builder.append(item_.getItemName());
            builder.append("</td><td>");
            builder.append(item_.getItemPrice());
            builder.append("</td><td>");
            builder.append(item_.getItemID());
            builder.append("</td></tr>");
        }
        builder.append("</table></html>");
        JOptionPane.showMessageDialog(parentDialog,
                builder.toString());

你可以这样做

        StringBuilder builder = new StringBuilder() ;
        builder.append("<html><table border=1><tr><td>Item Name</td><td>Item Price</td><td>Item Code</td></tr>");
        for( Item item_ : itemList ) {
            builder.append("<tr><td>");
            builder.append(item_.getItemName());
            builder.append("</td><td>");
            builder.append(item_.getItemPrice());
            builder.append("</td><td>");
            builder.append(item_.getItemID());
            builder.append("</td></tr>");
        }
        builder.append("</table></html>");
        JOptionPane.showMessageDialog(parentDialog,
                builder.toString());

我想你应该用a来代替。您唯一的其他选择可能是使用带有html表格的JLabel格式。我认为您需要使用。您唯一的选择可能是使用带有html表格的JLabel格式,但如果文本超出其分配的列,您将陷入困境。+1这是一个想法,但如果内容超过了长,它不会总是有帮助。如果用户的字体宽度可变,您也会遇到问题,但如果文本超出其分配的列,你陷入了深深的麻烦。+1这是个主意,但如果内容超过了长度,它不会总是有帮助。如果用户的字体宽度可变,你也会遇到问题