0

だから私は次のコードを持っています:

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextPane;

@SuppressWarnings("serial")
public class Window extends JPanel implements ActionListener {

public static JTextPane text = new JTextPane();
public static BorderLayout layout = new BorderLayout();
public static JButton debug = new JButton("Debug");
public static boolean isDebugPressed = false;
public static JFrame frame = new JFrame();

public Window(){
    debug.addActionListener(this);
    this.setLayout(layout);
    this.add(debug,BorderLayout.NORTH);
    this.add(text,BorderLayout.CENTER);


}

public static void main(String[] args){
    Window window = new Window();
    frame.setLayout(layout);
    frame.setSize(new Dimension(600,600));
    frame.setTitle("QuickScript Compiler");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setResizable(false);
    frame.setVisible(true);
    frame.setLocationRelativeTo(null);
    frame.add(window);
    debug.setActionCommand("debug");
    if (isDebugPressed){
        JOptionPane.showMessageDialog(frame, "Output: " + text.getText().toString() , "Debugging", JOptionPane.PLAIN_MESSAGE);
    }
}

@Override
public void actionPerformed(ActionEvent e) {
    if (e.getActionCommand().equals("debug")){
        isDebugPressed = true;
        System.out.println("true");
    }

}

デバッグ ボタンを押すと、ボックスがポップアップ表示され、テキスト ペイン内に入力した内容が表示されますが、何も表示されません。これを修正するにはどうすればよいですか? 非常に重要なことを見逃しているような気がしますが、それが何であるかわかりません。助けてくれる人に感謝します:D

4

1 に答える 1

3
//if (isDebugPressed){
        JOptionPane.showMessageDialog(frame, "Output: " + text.getText().toString() , "Debugging", JOptionPane.PLAIN_MESSAGE);

オプション ペインを表示するコードを ActionListener に追加する必要があります。

GUI が作成されたとき、変数 isDebugPressed は false であり、そのステートメントは二度と実行されません。

また、ActionListener は [デバッグ] ボタンにのみ追加されるため、アクション コマンドを設定して ActionListener でコマンドを確認する必要はありません。ソース ボタンは常に [デバッグ] ボタンになるため、オプション ペインを表示するだけでかまいません。

于 2013-06-18T04:09:56.087 に答える