我创建了一个新类,扩展了JFrame和扩展JPanel以创建swing GUI的新类.很棒,我喜欢这个,因为它易于阅读.
然而,当涉及到事件处理时,事情变得越来越复杂.我所做的确实不是一个解决方案; 就像打破好习惯,让事情发挥作用一样.我该如何正常工作?
这是我的JFrame类
public class MainFrame extends JFrame{
private JTextArea textArea;
public MainFrame(String title){
super(title);
//set layout
setLayout(new BorderLayout());
//create components
JButton buttonOne = new JButton("click me");
textArea = new JTextArea();
JPanel detailedPanel = new leftPanel();
//add to panel
Container c = getContentPane();
c.add(buttonOne, BorderLayout.SOUTH);
c.add(textArea, BorderLayout.CENTER);
c.add(detailedPanel, BorderLayout.WEST);
//Event Listening
leftPanel.buttonAdd.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
textArea.setText(textArea.getText() + " " + leftPanel.fieldName.getText() + " : " + leftPanel.fieldOccupation.getText());
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的JPanel
public class leftPanel …Run Code Online (Sandbox Code Playgroud)