2011-01-28 48 views
0

我需要从UI(Swing)中为我的类添加一个值,然后通过单击按钮启动我的方法。我该怎么办?使用java swing

+0

阅读摇摆的时间分配给它的文本字段的值教程了解如何编写Swing代码:http://download.oracle.com/javase/tutorial/uiswing/index.html。否则,如果你仍然陷入困境,你需要提供有关当前问题的更多细节,因为你写的问题有些模糊和过于笼统。 – 2011-01-28 06:38:30

回答

2

这里有一个文本框和一个按钮,点击后,将获得的文本价值的一个超级简单的例子,那么你就可以将所有的方法,你想传递的价值。

public class ButtonExample extends JPanel 
{ 
    private JTextField _text; 

    public ButtonExample() 
    { 
     _text = new JTextField(); 

     setLayout(new BorderLayout()); 
     add(_text, BorderLayout.NORTH); 
     add(new JButton(new CaptureTextAction()), BorderLayout.SOUTH); 
    } 

    private class CaptureTextAction extends AbstractAction 
    { 
     private CaptureTextAction() 
     { 
      super("Click Me"); 
     } 

     @Override 
     public void actionPerformed(ActionEvent ae) 
     { 
      String textToCapture = _text.getText(); 

      // do something interesting with the text 
     } 
    } 
} 
0

Swing只是您提供给应用程序的用户界面。 它是这样的.... 你有按钮,面板和所有你需要提供适当的接口,这意味着如果你需要文字输入你会把文本框或textarea的UI东西

swing应用程序基于事件,即基于控制台和基于窗口的应用程序之间的基本区别,基于控制台的应用程序是按顺序编译的,然后按顺序执行代码,但不考虑如何与它进行交互。另一方面,swing应用程序是基于事件的,直到任何事件被触发并被捕获,它将不会执行任何操作,在java中你只是处理事件,这意味着事件发生后会发生什么是由程序员决定的。

假设有一个按钮单击事件火灾和有附加到该元素则的actionPerformed函数被调用的监听器,它是执行

假设你想从应用程序获取用户名

JButton btnSubmit = new JButton("Submit"); 
JTextField txtName = new JTextField("", 4); 

btnSubmit.addActionListener(new ActionListener(){ 
    public void actionPerformed(ActionEvent e){ 
    String name = txtName.getText();//see below for explanation 
    printInfo();//write the function call statements here if you want them to be executed when button is clicked 

} 
}); 

每当按钮被点击或更一般地任何事件上的按钮时,然后它会在串池的字符串对象,并在当按钮被点击