java jbutton 事件_java-需要JButton事件支持

我最近有一个关于如何在另一个类的主方法中打开登录面板的问题.

因为我还没有在Swing中上过任何课(仅是基本的Java编程),所以我已经偶然发现了另一个问题.

如何检测用户是否按下了JPanel中的按钮并使它执行某项操作.

例如:

用户按下了登录-> if(textfield1.getText()==“ user”){打开另一个JFrame}->等等

这是我的主要代码:

import java.awt.*;

import javax.swing.*;

public class Corendon {

public static void main(String[] args) {

showLogin();

}

private static void showLogin(){

Login login = new Login();

JFrame loginFrame = new JFrame();

loginFrame.add(login);

loginFrame.pack();

loginFrame.setLocationRelativeTo(null);

loginFrame.setVisible(true);

loginFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

这是Login类:

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

/**

*

* @author Daan

*/

public class Login extends javax.swing.JPanel {

/**

* Creates new form Login

*/

public Login() {

initComponents();

}

/**

* This method is called from within the constructor to initialize the form.

* WARNINGds: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

//

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

jPasswordField1 = new javax.swing.JPasswordField();

jTextField1 = new javax.swing.JTextField();

jComboBox1 = new javax.swing.JComboBox();

jButton1 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

jLabel1.setIcon(new javax.swing.ImageIcon("C:\Users\Daan\Dropbox\HvA\Programming\Corendon\corendon.png")); // NOI18N

jLabel2.setText("Username");

jLabel3.setText("Password");

jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Dutch", "English" }));

jButton1.setText("Login");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

jButton2.setText("Cancel");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);

this.setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()

.addGap(31, 31, 31)

.addComponent(jLabel1))

.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()

.addGap(45, 45, 45)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel2)

.addComponent(jLabel3)

.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addGap(14, 14, 14)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addGap(29, 29, 29)

.addComponent(jButton2)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jButton1))

.addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, 214, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 214, javax.swing.GroupLayout.PREFERRED_SIZE))))

.addContainerGap(22, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap(16, Short.MAX_VALUE)

.addComponent(jLabel1)

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel2)

.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel3))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jButton2)

.addComponent(jButton1))

.addGap(35, 35, 35))

);

}//

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

}

// Variables declaration - do not modify

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JComboBox jComboBox1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JPasswordField jPasswordField1;

private javax.swing.JTextField jTextField1;

// End of variables declaration

}

所以我尝试在Login.java内部工作,并使用了私有方法(它是事件处理程序).我做了这样的事情:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

String user = jTextField1.getText();

if(user == "user") {

jTextField1.setText("LOL");

}

}

只是为了测试它是否确实满足了我的要求,但是当我按下按钮时它什么也没做.之后,我尝试在main.java中进行处理,在其中我实际上创建了带有JPanel的框架.阅读了很多教程之后,它们总是在同一java文件(在我的情况下为main.java)中创建了JPanel和JButton等.

因此,我该如何检测是否按下了登录按钮,然后使其处理JFrame并转到另一个方法中,在该方法中我创建另一个包含信息的JFrame.

我希望我足够清楚,否则请通知我.

编辑:

当我将测试代码更改为:user.equals(“ user”)时,它确实起作用了.但是现在我需要它来配置Login框架并访问main.java中的另一个方法.如何从Login.java中的私有方法内部实现此目标?

提前致谢,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值