作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我问这个是因为当我开始学习 GUI 时,我不太喜欢其他人使用的方法,所以我自己制作了这个方法。下面的代码是创建框架的类。
class Frame{
private JFrame frm;
private JLabel desc;
private JTextField username;
private JPasswordField password;
Frame(){
//Creating and setting the frame
frm = new JFrame();
frm.setLayout(new FlowLayout());
frm.setDefaultCloseOperation(frm.EXIT_ON_CLOSE);
frm.setResizable(true);
frm.setSize(300, 300);
frm.setLocationRelativeTo(null);
frm.setTitle("Default title");
//Initializing variables
desc = new JLabel("This is the description");
username = new JTextField("Username");
password = new JPasswordField("Password");
EventHandler handler = new EventHandler();
//Adding components to the frame
frm.add(desc);
frm.add(username);
frm.add(password);
//Handling the components
username.addActionListener(handler);
password.addActionListener(handler);
//Showing the frame
frm.setVisible(true);
}
class EventHandler implements ActionListener{
public void actionPerformed(ActionEvent event){
if(event.getSource() == username){
JOptionPane.showMessageDialog(null, "You typed \"" + username.getText() + "\" inside the username box.");
} else if(event.getSource() == password){
JOptionPane.showMessageDialog(null, "You typed \"" + password.getText() + "\" inside the password box.");
}
}
}
}
在主类中简单地放一些类似的东西
Frame frm = new Frame();
创建它。
最佳答案
看起来不错。
Java 类名应该以大写字母开头。 Frame 是一个 Java 类,因此您应该将您的类命名为 MyFrame(或 Frame 以外的任何名称)。
你需要把你的类(class)放在Event Dispatch thread上(美东时间)。您可以使用如下代码执行此操作:
.
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new MyFrame();
}
});
关于java - 像这样创建 Java Frame 是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23983697/
在我生活的世界中,构建一个将所有飞镖都扔到墙上的解决方案,并希望其中一些能命中靶心是一种非常糟糕的解决方案方法。 那么,我的问题出现了,什么时候在约定可接受的生产系统中使用 INSERT IGNORE
在数据处理时,经常会因为index报错而发愁。不要紧,本次来和大家聊聊pandas中处理索引的几种常用方法。 1.读取时指定索引列 很多情况下,我们的数据源是 CSV 文件。假设
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!