java窗口中怎样输出_java – 在选项卡式窗口中显示输出

这是一个非常天真的实现.

package test.t100.t001;

import java.awt.*;

import java.awt.event.KeyEvent;

import java.io.BufferedReader;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintStream;

import javax.swing.*;

public class TabbedPaneDemo extends JPanel {

private static final long serialVersionUID = 1L;

Integer i;

JTextArea output = new JTextArea();

public static void main(String args[])

{

SwingUtilities.invokeLater(new Runnable() {

public void run()

{

JFrame frame = new JFrame("TabbedPaneDemo");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.add(new TabbedPaneDemo(), BorderLayout.CENTER);

frame.pack();

frame.setVisible(true);

}

});

}

private String getDetails() throws IOException {

//fn();

String line;

String result = "";

PrintStream p;

Process p1 = Runtime.getRuntime().exec("tasklist.exe");

// read from a process

BufferedReader input = new BufferedReader(

new InputStreamReader(p1.getInputStream()));

while ((line = input.readLine()) != null)

{

//System.out.println(line);

output.append(line + "

");

result += line+"

";

//p.println (line);

//textarea.setVisible(true);

}

//msgBox(result);

//p.close();

input.close();

return result;

}

public TabbedPaneDemo() {

super(new GridLayout(1, 1));

JTabbedPane tabbedPane = new JTabbedPane();

ImageIcon icon = createImageIcon("images");

JComponent panel1 = makeTextPanel("tasklist");

tabbedPane.addTab("tasks", icon, panel1,

"ta");

// add it to something!

panel1.add(new JScrollPane(output));

tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);

JComponent panel2 = makeTextPanel("windows");

tabbedPane.addTab("wins", icon, panel2,

"wi");

tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);

add(tabbedPane);//`enter code here`

tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);

try {

String s = getDetails();

output.setText(s);

} catch(IOException e) {

e.printStackTrace();

}

}

public static void msgBox(String msg) {

javax.swing.JOptionPane.showConfirmDialog((java.awt.Component)

null, msg, "WindowsUtils",

javax.swing.JOptionPane.DEFAULT_OPTION);

}

protected JComponent makeTextPanel(String text)

{

JPanel panel = new JPanel(false);

JLabel filler = new JLabel(text);

filler.setHorizontalAlignment(JLabel.CENTER);

panel.setLayout(new GridLayout(1, 1));

panel.add(filler);

return panel;

}

protected static ImageIcon createImageIcon(String path) {

java.net.URL imgURL = TabbedPaneDemo.class.getResource(path);

if (imgURL != null) {

return new ImageIcon(imgURL);

} else {

System.err.println("Couldn't find file: " + path);

return null;

}

}

}

其他说明:

>为了更好的帮助,请发布SSCCE.特别是不要包含不必要的图像.

>对这种类型的数据使用JTable.

>代码在选项卡式窗格中转储文本区域,该窗格显然具有GridLayout – BNI

>不要混合Swing& AWT组件没有充分理由.

>如前所述,使用SwingWorker获取数据.

更新

..but the output from the console doesn’t appear.

嗯.让我们考虑一下

I have developed a task manager for Linux in Java

.netbined with ..

Process p1 = Runtime.getRuntime().exec("tasklist.exe");

现在,如果我误解了什么,请纠正我,但AFIAU Linux没有EXE.

我猜测代码在Linux上失败了,并且因为错误的流程被忽略了,所以你没有被告知原因.以下是Windows 7上显示的上面显示的代码的屏幕截图.

现在,如果数据是硬编码的,您可能会看到类似上面的内容.这回答了所谓的“(如何)在选项卡式窗口中显示输出”的问题,对吧?

更多信息.关于你所看到的新问题是通过实施When Runtime.exec() won’t的所有建议来实现的.如果你实施了所有的建议和仍然无法解决问题,我建议你问一个新问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值