0

今のところ、私はこのコードを持っています:

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 プラグインをインストールすることにオープンです。

4

1 に答える 1

0

Windows の場合は、 を開きsystem console、単に呼び出すことができます:

           Process p = Runtime.getRuntime().exec("cmd /c start cmd.exe");
        try {
            p.waitFor();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

もちろん、別の OS でアプリを実行している場合、これは別の呼び出しになります。

編集: このコードをOSに依存しないようにしたい場合:

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 でシステム コンソールを開く方法についてはこちらを、Mac についてはこちらをご覧ください。

于 2013-05-10T14:49:27.543 に答える