时没有任何事情我试图显示一个(登录)消息时,用户成功连接但没有发生时做一个repaint()。你可以去看一下代码:当刷新主框架(JAVA)
public class MainFrame extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private static final int FRAME_HEIGHT = 400;
private static final int FRAME_WIDTH = 250;
private static final String TITLE = new String("TweeX");
private static String TWITTERID = new String();
private static String TWITTERPW = new String();
private boolean logged = false;
private JTextField loginField = new JTextField(10);
private JPasswordField passField = new JPasswordField(10);
private JButton login = new JButton("Connect");
private GridBagConstraints c = new GridBagConstraints();
private String UserStatus = new String("Please login...");
/*
* Constructor !
*/
MainFrame() {
setSize(FRAME_WIDTH, FRAME_HEIGHT);
setTitle(TITLE);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setResizable(false);
loginUser();
}
/*
* Login Forms
*/
protected void loginUser() {
this.setLayout(new GridBagLayout());
//add Login Fiels + Label
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.insets = new Insets(5, 5, 5, 20);
c.gridy = 0;
add(new JLabel("Username:"), c);
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 1;
c.gridy = 0;
add(loginField, c);
//add Password Fiels + Label
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 0;
c.gridy = 1;
add(new JLabel("Password:"), c);
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 1;
c.gridy = 1;
add(passField, c);
//add Login button
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 1;
c.gridy = 2;
add(login, c);
//add listener to login button
login.addActionListener((ActionListener) this);
c.fill = GridBagConstraints.HORIZONTAL;
c.gridx = 1;
c.gridy = 3;
add(new JLabel(UserStatus), c);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
TWITTERID = loginField.getText();
TWITTERPW = passField.getText();
Twitter twitter = new TwitterFactory()
.getInstance(TWITTERID, TWITTERPW);
logged = true;
try {
twitter.verifyCredentials();
} catch (TwitterException e1) {
logged = false;
}
}
protected void connect() {
if (logged) {
UserStatus = "Loged In :)";
repaint();
}
}
static public void main(String[] argv) {
new MainFrame();
}
}
看来,方法'连接'没有被调用在你的代码中的任何地方......是不是? – ultrajohn 2010-06-07 04:12:38
重新格式化的代码;如果不正确请回复。 – trashgod 2010-06-07 04:28:37
感谢您的快速回答。我解决了setText()的问题,正如垃圾桶 – Ams 2010-06-07 04:46:48