小编Mik*_*ark的帖子

截断的JTable打印输出

我有一个使用JTextArea作为其TableCellRenderer的JTable,因此表格单元格可以使用自动换行.JTable显示正常.当我通过JTable的打印方法将表打印到打印机时,输出总是截断大约60%的数据.我尝试过不同的计算机和不同的打印机,以及不同的打印机驱动程序,不同的JVM版本(1.5,1.6),但这些都没有帮助.下面是一个自包含的Java主类,可以重现该问题.有任何想法吗?

import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.*;

public class JTextAreaJTableTest extends javax.swing.JFrame {

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                JTextAreaJTableTest frame = new JTextAreaJTableTest();
                frame.setSize(640, 480);
                frame.setLocationRelativeTo(null);
                frame.setVisible(true);
            }
        });
    }

    JButton jButtonPrint;
    JScrollPane jScrollPane;
    JTable jTable;
    JToolBar jToolBar;

    public JTextAreaJTableTest() {
        initComponents();

        DefaultTableModel dtm = (DefaultTableModel) jTable.getModel();
        Vector<Vector<String>> data = new Vector<Vector<String>>();
        for (int i = 0; i < 50; i++) {
            Vector<String> rowData …
Run Code Online (Sandbox Code Playgroud)

java printing swing jtable

5
推荐指数
1
解决办法
2700
查看次数

输出不可重定向的实用程序(Windows)

我正在使用Microsoft命令行实用程序执行任务。我认为,实用程序的功能及其执行的任务的具体细节相对来说并不重要。这很重要:

命令行实用程序将文本发送到控制台窗口。尽管我尝试了所有可以通过研究找到的方法,但是我无法弄清楚如何将文本重定向到文件。似乎该实用程序正在使用一些奇怪的OS函数调用,从而导致以不受常规重定向方式约束的方式来打印文本。我正在使用Windows 7 cmd.exe控制台窗口。

这些构造都没有重定向有问题的文本输出:

util.exe >log.txt
util.exe 2>err.txt
util.exe >log.txt 2>&1
util.exe 1>log.txt 2>err.txt
util.exe 1>log.txt 2>err.txt 3>3.txt 4>4.txt 5>5.txt 6>6.txt 7>7.txt 8>8.txt 9>9.txt
Run Code Online (Sandbox Code Playgroud)

对最后一个感到困惑吗? 事实证明,在Windows-land中有10个输出流,但这也没有完成任务。

我可以使用控制台窗口的“编辑”>“标记选择并复制”功能来复制文本,但是我需要以无头方式捕获该程序的输出,以便使其自动化。

我找不到任何专门绕过重定向打印到控制台的OS函数调用。是否存在这样的功能?该实用程序如何设法规避重定向?我可以使用什么方法来捕获该实用程序的输出?

我还尝试了DbgView,认为可能包含输出消息,但没有。

该实用程序不是图形实用程序。很显然,这是一个文本模式程序,可能是用C或C ++编写的。它是由Microsoft编写的。

windows stdout stderr io-redirection

5
推荐指数
1
解决办法
264
查看次数

什么在java中会更有效率?If-return-else或If-return?

我只是想知道,编译器使用什么实际上更有效

if (condition) {
    return something;
} else {
    dosomething();      
}
Run Code Online (Sandbox Code Playgroud)

要么

if (condition) {
    return something;
}
dosomething();
Run Code Online (Sandbox Code Playgroud)

我知道这些是非常低的差异,应该选择更易读的版本,但是我们只能说我们将执行这个代码十亿次,哪一个会更有效?

我也知道在"现实世界"中根本没有任何收获,但我只是好奇.

java performance

1
推荐指数
1
解决办法
464
查看次数

标签 统计

java ×2

io-redirection ×1

jtable ×1

performance ×1

printing ×1

stderr ×1

stdout ×1

swing ×1

windows ×1