0
我有一个MainWindow类,它有main方法,它的构造函数和initialize()方法。 initialize()方法有框架,Jbutton和最终的Jtextarea。 actionPerformed()在处理ActionListener的另一个类Data中。我想在Jtextfield中按下按钮之后显示一些文本,该文本仅位于MainWindow类的专用变量框架内。我没有提到应用程序逻辑,帮助我与它交互,并且GUI。谢谢!!!! !WindowBuilder交互java的GUI和应用程序逻辑?
MainWindow类:
public class MainWindow {
private JFrame frame;
public Data data;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainWindow window = new MainWindow();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public MainWindow() {
this.data = new Data();
initialize();
}
private void initialize(){
frame = new JFrame();
frame.setBounds(100, 100, 396, 469);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
final JTextArea textarea = new JTextArea();
textarea.setFont(new Font("Dialog", Font.PLAIN, 75));
textarea.setTabSize(15);
textarea.setBounds(12, 28, 370, 85);
frame.getContentPane().add(textarea);
JButton button7 = new JButton("7");
button7.addActionListener(this.data); // Data data class has the actionperformed() method
button7.setActionCommand("7");
button7.setBounds(12, 125, 65, 73);
frame.getContentPane().add(button7);
}
}
那么类数据是:
public class Data implements ActionListener {
public String s;
public Data(){
//constructor
}
public void actionPerformed(ActionEvent e) {
// this will set string s with some string
// that has to be returned to be displayed
// in the Jtextarea of the frame in MainWindow
}
public string returnString(){
return s;
}
我只是想设置主窗口框架变量的JTextArea class..please帮助
我能够在我的数据类中设置字符串,但实际的问题是在MainWindow类的JTextArea textarea中返回字符串并将其设置。请帮助我返回JTextArea并添加到MainWindow类中的JFrame框架......谢谢! – 2014-12-04 14:01:43
让我们来思考。从逻辑上讲,ActionListener会捕获你的动作并在actionPerformed中运行一个代码,因此如果你想在MainWindow中处理代码,那么你必须在MainWindow中创建一个方法并从ActionListener **中调用它。 – larensolarsuss 2014-12-05 10:07:56