首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Swing GUI到系统控制台?

问从Swing GUI到系统控制台?
EN

Stack Overflow用户
提问于 2013-05-10 22:44:25
回答 1查看 543关注 0票数 0

好了,现在我有以下代码:

代码语言:javascript
复制
package program.window;
import jaco.mp3.player.MP3Player;
public class obj {
private JFrame frame;
private static int xPosition = 30, yPosition = 30;
final JDesktopPane desktopPane = new JDesktopPane();

/**
 * Launch the application.
 */
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                obj window = new obj();
                window.frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

/**
 * Create the application.
 */
public obj() {
    initialize();
}

/**
 * Initialize the contents of the frame.
 */
private void initialize() {
    frame = new JFrame();
    frame.setTitle("bD suite v.0.0012__EARLY__ALPHA");
    frame.setBounds(574, 100, 745, 542);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().setLayout(new BorderLayout(0, 0));

    JPanel panel = new JPanel();
    frame.getContentPane().add(panel, BorderLayout.NORTH);

    final JDesktopPane desktopPane = new JDesktopPane();
    frame.getContentPane().add(desktopPane, BorderLayout.CENTER);

    JButton btnMp3 = new JButton("Mp3");
    btnMp3.setIcon(new ImageIcon("/home/zmaj/Pictures/free-mp3-cutter-and-editor.png"));
    btnMp3.setSelectedIcon(new ImageIcon("/home/zmaj/Pictures/free-mp3-cutter-and-editor.png"));

    btnMp3.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            JFileChooser mp3FileChooser = new JFileChooser();
            mp3FileChooser.showOpenDialog(frame);
            File selectedFile = mp3FileChooser.getSelectedFile();
            if (selectedFile != null) {
                JInternalFrame mp3Frame =
                        new JInternalFrame(selectedFile.getName(), true, true, true, true);
                mp3Frame.setTitle("MP3 player");
                mp3Frame.getContentPane().add(new JLabel("Sviram " + selectedFile.getName()));
                mp3Frame.setSize(200, 50);
                mp3Frame.setLocation(xPosition, yPosition);
                xPosition += 100;
                yPosition += 25;
                desktopPane.add(mp3Frame);
                mp3Frame.setVisible(true);
                final MP3Player player = new MP3Player(selectedFile);
                player.play();
                mp3Frame.addInternalFrameListener(new InternalFrameAdapter() {
                    public void internalFrameClosing(InternalFrameEvent e) {
                        player.stop();
                    }
                });
            }

        }
    });
    panel.add(btnMp3);

    JButton btnImage = new JButton("Image");
    btnImage.setIcon(new ImageIcon("/home/zmaj/Pictures/cloud-image.jpg"));
    btnImage.setSelectedIcon(new ImageIcon("/home/zmaj/Pictures/cloud-image.jpg"));
    btnImage.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            JFileChooser imageFileChooser = new JFileChooser();
            imageFileChooser.showOpenDialog(frame);
            File selectedFile = imageFileChooser.getSelectedFile();
            if (selectedFile != null) {
                JInternalFrame imageFrame = new JInternalFrame(
                        selectedFile.getName(), true, true, true, true);
                imageFrame.setTitle("Prikazujem " + selectedFile.getName());
                imageFrame.getContentPane().add(new JLabel(new
                        ImageIcon(selectedFile.getPath())));
                imageFrame.setSize(200, 200);
                imageFrame.setLocation(xPosition, yPosition);
                xPosition += 50;
                yPosition += 50;
                desktopPane.add(imageFrame);
                imageFrame.setVisible(true);
            }

        }
    });
    panel.add(btnImage);

    JButton btnText = new JButton("Text");
    btnText.setIcon(new ImageIcon("/home/zmaj/Pictures/insert-text.png"));
    btnText.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
              JFrame frame=new JFrame("Text Frame");
              JTextArea textArea=new JTextArea("Welcome to notes,please write your text!",10,20);
              frame.getContentPane().add(textArea);
              frame.setTitle("bD notes");
              frame.getContentPane().setLayout(new FlowLayout());
              frame.setSize(250,250);
              frame.setVisible(true);
        }
    });
    panel.add(btnText);
 }
}

我想添加一个按钮,这将打开一个新的框架,其中将包含一个系统控制台。我该怎么做呢?

我愿意导入新的库并安装新的eclipse插件。

EN

回答 1

Stack Overflow用户

发布于 2013-05-10 22:49:28

对于windows,您可以打开一个system console,只需调用:

代码语言:javascript
复制
           Process p = Runtime.getRuntime().exec("cmd /c start cmd.exe");
        try {
            p.waitFor();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

当然,如果你在不同的操作系统上运行你的应用程序,这将是一个不同的调用。

EDIT :如果您希望此代码独立于操作系统,请使用:

代码语言:javascript
复制
String os = System.getProperty("os.name");
if(os.startsWith("Windows")) {
        // make the command for windows
} else {
      if(os.startsWith("Linux") {
             // make the command for linux
      else {  
             // make the command for mac
      }
}

查找如何在linux和here here mac中打开系统控制台。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16484911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档