[英]How to return a value from a text field from Jframe2 to Jframe1 in Netbeans
[英]How to pass the inputted value of textfield (JFrame1) to label (JFrame2)
我在程序中停留了很長時間。 原因是,我不知道如何將在JFrame1的文本字段中輸入的文本傳遞給位於JFrame2的標簽。 在文本字段中輸入的文本應在JFrame 2中顯示為標簽。我是Java的新手,所以我真的不知道我要使用什么代碼。 請幫我。
我的JFrame1是LoginForm。
如果需要,請使用以下代碼:
import java.sql.*;
import javax.swing.*;
public class LoginForm extends javax.swing.JFrame {
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
public LoginForm() {
initComponents();
conn = dbconnect.ConnectDB();
}
private void b_loginMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
String sql = "select * from tbl_login where username = '"+username.getText()+"' and password = '"+password.getText()+"'";
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
if (rs.next()){
String type = rs.getString("type");
if (type.equals("admin")) {
AdminHome ah = new AdminHome();
ah.setVisible(true);
}
else {
EmployeeHome eh = new EmployeeHome();
eh.setVisible(true);
}
}
else {
JOptionPane.showMessageDialog(null, "Incorrect username or password.");
}
}
catch (Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new LoginForm().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton b_login;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPasswordField password;
private javax.swing.JTextField username;
// End of variables declaration
}
這是EmployeeHome的JFrame2
這是JFrame2的代碼:
import java.sql.*;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
public class EmployeeHome extends javax.swing.JFrame {
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
/**
* Creates new form EmployeeHome
*/
public EmployeeHome() {
initComponents();
conn = dbconnect.ConnectDB();
DateTime ();
}
public void DateTime (){
Thread clock = new Thread (){
public void run () {
for (;;){
Calendar cal = new GregorianCalendar ();
String month = cal.getDisplayName(Calendar.LONG, Calendar.MONTH, Locale.getDefault());
int day = cal.get(Calendar.DAY_OF_MONTH);
int year = cal.get(Calendar.YEAR);
String week;
if (cal.get(Calendar.DAY_OF_WEEK) == 1) {
week = "Sunday";
}
else if (cal.get(Calendar.DAY_OF_WEEK) == 2) {
week = "Monday";
}
else if (cal.get(Calendar.DAY_OF_WEEK) == 3) {
week = "Tuesday";
}
else if (cal.get(Calendar.DAY_OF_WEEK) == 4) {
week = "Wednesday";
}
else if (cal.get(Calendar.DAY_OF_WEEK) == 5) {
week = "Thursday";
}
else if (cal.get(Calendar.DAY_OF_WEEK) == 6) {
week = "Friday";
}
else {
week = "Saturday";
}
l_date.setText(week + ", " + month + " " + day + ", " + year);
int hour = cal.get(Calendar.HOUR);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
String ampm;
if (cal.get(Calendar.AM_PM) == 0) {
ampm = "AM";
}
else {
ampm = "PM";
}
l_time.setText(hour + " : " + minute + " : " + second + ampm);
try {
sleep (1000);
} catch (InterruptedException ex) {
Logger.getLogger(EmployeeHome.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
};
clock.start();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new EmployeeHome().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton b_logout;
private javax.swing.JButton b_tin;
private javax.swing.JButton b_tout;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JLabel l_address;
private javax.swing.JLabel l_age;
private javax.swing.JLabel l_bdate;
private javax.swing.JLabel l_contact;
private javax.swing.JLabel l_date;
private javax.swing.JLabel l_dept;
private javax.swing.JLabel l_id;
private javax.swing.JLabel l_name;
private javax.swing.JLabel l_time;
private javax.swing.JLabel l_username;
// End of variables declaration
}
我的目標是將輸入到用戶名文本框(image1)的文本傳遞到用戶名標簽(image2)旁邊的標簽。 你能幫我怎么做嗎?
您可以在創建另一個JFrame
實例時注入該屬性。
例:
EmployeeHome eh = new EmployeeHome(myTextField.getText());
要么
EmployeeHome eh = new EmployeeHome();
eh.setUserNameText(myTextField.getText());
您需要在EmployeeHome
提供該方法。 因此,更改該類並添加它。
public EmployeeHome(String userName) {
initComponents();
userLabel.setText(userName);
conn = dbconnect.ConnectDB();
DateTime ();
}
要么
public void setUserNameText(String name){
this.userLabel.setText(name);
}
如果要這樣做,可以在創建employeehome對象之后,在框架1中插入以下代碼
eh.l_username.setText(username.getText());
瞧...完成了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.