无法显示 JOptionPane - Java 摆动
Can't Show JOptionPane - Java Swing
我是 Java 的新手。我需要你的帮助。
我的代码在显示 JDialog
之前运行良好。我有一个按钮来显示消息对话框 (JOptionPane
)。单击按钮时存在问题。消息对话框似乎没有出现。它更像是卡住了,无法关闭,必须从我的 Eclipse 中终止。
谁能告诉我为什么 JOptionPane
不能显示?而且我不知道parentComponent
在它的参数上是什么意思。
这是我的代码。
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDialog;
import javax.swing.JButton;
import javax.swing.JOptionPane;
@SuppressWarnings("serial")
public class Test extends JDialog implements ActionListener {
private JButton testPane = new JButton(" Test Pane ");
Test() {
initComp();
}
private void initComp() {
this.setSize(300, 200);
this.setLocationRelativeTo(null);
this.setTitle("Test");
this.setAlwaysOnTop(true);
this.setResizable(false);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setLayout(null);
testPane.setBounds(47, 25, 200, 120);
this.add(testPane);
testPane.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(null, "Does it show?");
}
}
首先,您需要在 initComp
中添加以下语句,以便 JFrame
可见:
private void initComp() {
...
this.setVisible(true); // add this to show the frame
...
}
显示对话框时,将父组件设置为当前 JFrame
以便它显示在框架本身中:
@Override
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(this, "Does it show?"); // add this as parent
}
我是 Java 的新手。我需要你的帮助。
我的代码在显示 JDialog
之前运行良好。我有一个按钮来显示消息对话框 (JOptionPane
)。单击按钮时存在问题。消息对话框似乎没有出现。它更像是卡住了,无法关闭,必须从我的 Eclipse 中终止。
谁能告诉我为什么 JOptionPane
不能显示?而且我不知道parentComponent
在它的参数上是什么意思。
这是我的代码。
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDialog;
import javax.swing.JButton;
import javax.swing.JOptionPane;
@SuppressWarnings("serial")
public class Test extends JDialog implements ActionListener {
private JButton testPane = new JButton(" Test Pane ");
Test() {
initComp();
}
private void initComp() {
this.setSize(300, 200);
this.setLocationRelativeTo(null);
this.setTitle("Test");
this.setAlwaysOnTop(true);
this.setResizable(false);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setLayout(null);
testPane.setBounds(47, 25, 200, 120);
this.add(testPane);
testPane.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(null, "Does it show?");
}
}
首先,您需要在 initComp
中添加以下语句,以便 JFrame
可见:
private void initComp() {
...
this.setVisible(true); // add this to show the frame
...
}
显示对话框时,将父组件设置为当前 JFrame
以便它显示在框架本身中:
@Override
public void actionPerformed(ActionEvent arg0) {
JOptionPane.showMessageDialog(this, "Does it show?"); // add this as parent
}