在我的Java课程中,我必须创建一个与用户交互的GUI类和一个处理交互的Logic类。由于我发现这非常复杂且难以理解,我正在寻找一些可以激励我继续的帮助。
到目前为止,我刚刚使用基于文本的Menu类和Swich语句来处理Scanner的简单输入,然后处理所有get和set方法。但我想我不再需要它了,而是可以创建一些Logic类来处理对象中的所有get和set方法,具体取决于用户的输入。但首先,如何在窗口中创建一个简单的菜单,并从GUI类获取输入值到此Logic类及其方法?
我添加了一个简单的GUI测试类,我已经完成了这项任务,但我担心会遗漏一些东西?
import javax.swing.*;
import java.awt.*;
class Guitest extends JFrame {
JTextField inputLine;
JLabel text;
Container contentPane;
// constructor
public Guitest() {
contentPane = getContentPane();
contentPane.setBackground(Color.WHITE);
setTitle("Test GUI");
setSize(400,200);
setLocation(400,400);
contentPane.setLayout(new FlowLayout(FlowLayout.LEFT));
text = new JLabel("Enter name of new customer");
contentPane.add(text);
inputLine = new JTextField();
inputLine.setColumns(10);
contentPane.add(inputLine);
setDefaultCloseOperation( EXIT_ON_CLOSE );
}
}
我还添加了一个简单的类,它创建了一个窗口实例并使其可见。也许这个类可能是Logic类?
class Showgui {
// main
public static void main(String[] args) {
Guitest mywindow;
mywindow = new Guitest();
mywindow.setVisible(true);
}
}
所有帮助都是预先准备好的!谢谢!
答案 0 :(得分:3)
您应该首先学习event listeners,然后了解MVC pattern,here。
答案 1 :(得分:2)
您可以向JTextField添加ActionListener,以便每当用户按下Enter键时触发一个事件并执行一段代码。
例如:
inputLine.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String input = inputLine.getText();
}
});