【发布时间】:2018-11-08 14:49:32
【问题描述】:
我正在使用 Eclipse Photon 2018 并使用 Java 制作一个简单的项目。
我开始使用 JOptionPane 并且出于某种原因 - 尺寸很小,如下图所示:
我的代码:
Main.java:
public class Main {
public static void main(String[] args) {
Messageable ui = new GrapghicalUI();
String res = ui.getString("what is your name? ");
ui.showMessage("hi" +res);
}
}
ConsuleUI.java:
import java.util.Scanner;
public class ConsoleUI implements Messageable{
private Scanner s = new Scanner(System.in);
@Override
public void showMessage(String str) {
System.out.println(str);
}
@Override
public String getString(String msg) {
System.out.println(msg);
return s.next();
}
}
GraphicalUI.java:
import javax.swing.JOptionPane;
public class GrapghicalUI implements Messageable {
@Override
public void showMessage(String str) {
JOptionPane.showMessageDialog(null, str);
}
@Override
public String getString(String msg) {
return JOptionPane.showInputDialog(msg);
}
}
可留言:
public interface Messageable {
void showMessage(String str);
String getString(String msg);
}
【问题讨论】:
-
为什么有4个类来显示一个简单的JOptionPane?当解决问题时学会简化问题。这样您就知道问题是否与您的整体设计或其他问题有关。因此,请尝试仅从 main() 方法显示 JOptionPane 以查看您是否有同样的问题。此外,应在
Event Dispatch Thread (EDT)上创建和修改所有 Swing 组件。所以你需要使用 SwingUtilities.invokeLater()。阅读 Concurrency 上的 Swing 教程部分了解更多信息。
标签: java eclipse swing joptionpane