2012-03-18 49 views
-2

我希望窗口在输入完成后立即关闭,然后单击添加按钮。 另外我想要一条消息来通知用户输入数据已保存。此时此代码链接到将存储输入的数据库对象。我希望在输入数据时关闭窗口

public class Add extends JFrame 
      implements ActionListener { 

/** {@link JTextField} where the user name is entered */ 
JTextField Inputusername = new JTextField(7); 

/** {@link JTextField} where the user age is entered */ 
JTextField age = new JTextField(2); 

/** {@link JTextField} where the user ID is entered */ 
JTextField inputuserid = new JTextField(4); 

/** Add Client button */ 

JButton addnewclient = new JButton("Add Client"); 
/** male Jradiobutton */ 
JRadioButton male = new JRadioButton("Male"); 
/** female Jradiobutton */ 
JRadioButton female = new JRadioButton("Female"); 
/** label for the gender selection */ 
Label genders = new Label("please select gender of client"); 

/** call the database constructor*/ 

private Database db; 
public Add(Database db) 
    { this.db = db; 


    //allows the positioning 
    setLayout(new BorderLayout()); 

    //setting the size of the window 
    setBounds(100, 100, 500, 200); 

// the title of the window 
    setTitle("add new Client"); 

    // dispose of the window when the close button is clicked 
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 

// declared new panel 
    JPanel top = new JPanel(); 
    top.add(new JLabel("Enter username :")); 
    top.add(Inputusername); 
    top.add(new JLabel("Enter age:")); 
    top.add(age); 
    top.add(new JLabel("Enter userid:")); 
    top.add(inputuserid); 
    add("North",top); 
    // declared new panel 
    JPanel bottom = new JPanel(); 
// add the veritable of JButton to the top panel 
    bottom.add(addnewclient); 
// add the bottom panel to the bottom of the screen 
    add("South",bottom); 

    JPanel middle = new JPanel(); 
    ButtonGroup bg = new ButtonGroup(); 
    bg.add(male); 
    bg.add(female); 
    middle.add(male); 
    middle.add(female); 
    add("Center",middle); 

// do not allow user to set the size of the screen 
    setResizable(false); 
// make the program visible 
    setVisible(true); 
// listen to the button 
    addnewclient.addActionListener(this); 
} 

public void actionPerformed(ActionEvent e) { 

    String selection = "female"; 

    if (this.male.isSelected()) 
    { 
     selection = "male"; 
    } 

    User u = new User(Inputusername.getText(), selection , age.getText(), inputuserid.getText()); 
    db.addUser(u); 

}

+0

我想要一台新电脑......问题是什么?堆栈溢出不是在这里为你的代码正确 – 2012-03-18 22:09:13

+5

也不是在这里*写你的代码给你。 ;-) – 2012-03-18 22:10:58

+2

@HovercraftFullOfEels这是令人尴尬的...你甚至可以说堆栈溢出实际上是在'正确'你的代码以及... – 2012-03-18 22:57:36

回答

5

您可以添加一些代码到你的动作执行的方法。查看JFrame的API以获取方法列表,但您可能需要的是致电this.dispose();

堆栈溢出已经有一些现有的答案,如this

编辑:请注意,这将处理您正在使用的类;所以如果你仍然需要一些繁忙的逻辑,那么你需要一种隐藏JFrame的方法。我相信你可以自己找到它,但将GUI与商业逻辑分开是一个更好的主意。

+0

dam.dev非常感谢你我通过API看,这是非常重要的包含所有类与解释。非常感谢 – Sirnur 2012-03-19 21:34:24

+0

不用担心,试着明确下一次你遇到哪个问题,那么人们可以更快地提供更好的帮助 – 2012-03-19 22:24:08