Java的GUI示例
这是一个 Java GUI 的示例。
关于 Java 的 GUI,我经常看到一些示例都将全部代码都写在 main 类中,我个人觉得有点困难找到实用的用法,所以我在这里分享了一些已经从 main 类中分离出来的 GUI 对话框的实现代码。
1.弹出对话框.JOptionPane
信息对话框
这是一个通用的对话框。
public class Main {
public static void main(String[] args) {
InfoDialog.showDialog("ファイルを選択してください(.xlsx)。");
}
}
import javax.swing.JOptionPane;
class InfoDialog {
public static void showDialog(String msg) {
JOptionPane.showMessageDialog(null, msg,"たいとる",JOptionPane.INFORMATION_MESSAGE);
}
}
在需要使用这个方法的场景中,将要在对话框中显示的字符串作为参数传入。在这里,字符串是“请选择要选择的文件(.xlsx)。”
我认为,对于 showMessageDialog 方法的第二到第四个参数,我们应该能够理解。但是对于第一个参数 parentComponent,我无法找到具体的解释,但基本上应该是 null 就可以了。
如果你想选择”是”或者”否”,就不要使用showMessageDialog,而是要使用showConfirmDialog方法。
错误对话框 (wù duì huà
public class Main {
public static void main(String[] args) {
InfoDialog.ErrorDialog(".xlsxが未指定です。終了します。");
}
}
import javax.swing.JOptionPane;
class ErrorDialog {
public static void showDialog(String msg) {
JOptionPane.showMessageDialog(null, msg,"たいとる",JOptionPane.ERROR_MESSAGE);
}
}
2.awt.FileDialog 可以用来创建一个文件选择对话框。
这是一个允许用户选择文件的对话框。
public class Main {
public static void main(String[] args) {
new WindowTest();
File file = new File(WindowTest.dir + WindowTest.fileName);
}
}
import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.event.WindowListener;
class WindowTest extends Frame implements WindowListener {
static String dir;
static String fileName;
WindowTest() {
FileDialog fileDialog = new FileDialog(this);
fileDialog.setVisible(true);
this.dir = fileDialog.getDirectory();
this.fileName = fileDialog.getFile();
if (fileName == null) {
ErrorDialog.showDialog(".xlsxが未指定です。終了します。");
System.exit(0);
}
}
public void windowActivated(java.awt.event.WindowEvent e) {
}
public void windowClosed(java.awt.event.WindowEvent e) {
}
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(1);
}
public void windowDeactivated(java.awt.event.WindowEvent e) {
}
public void windowDeiconified(java.awt.event.WindowEvent e) {
}
public void windowIconified(java.awt.event.WindowEvent e) {
}
public void windowOpened(java.awt.event.WindowEvent e) {
}
}
以上的内容就是这样。