Java 显示用户名
我使用netbeans创建了2个jframes。一个名为login,另一个名为home。 我在登录框中插入了一个文本字段来插入用户名。我还在主框架中放置了一个标签,以显示在登录框架文本字段中输入的用户名。为此,我创建了一个全局变量,从登录框的username textfield获取文本Java 显示用户名,java,swing,Java,Swing,我使用netbeans创建了2个jframes。一个名为login,另一个名为home。 我在登录框中插入了一个文本字段来插入用户名。我还在主框架中放置了一个标签,以显示在登录框架文本字段中输入的用户名。为此,我创建了一个全局变量,从登录框的username textfield获取文本 public class Login extends javax.swing.JFrame { public static String user; user = txt_user.getText(); 然后
public class Login extends javax.swing.JFrame {
public static String user;
user = txt_user.getText();
然后,我在home类中创建了login类的实例来调用这个变量,并将文本设置为我使用的标签
public Home() {
initComponents();
date();
time();
Login l = new Login();
lbl_user.setText(l.user);
没有错误。但这对我不起作用。请帮我做这个。
我还想知道以下方法的返回类型是什么
public getuser(){
String u = txt_user.getText();
return;
}
所以在这件事上的任何帮助都是感激的。提前谢谢 在使用
静态变量时需要小心。在这种情况下,您不需要使用静态
,在使用JFrame
登录时,您可以使用:
Home() {
initComponents();
String login = JOptionPane.showInputDialog(this, "Input your name");
}
在使用静态变量时,您需要小心。在这种情况下,您不需要使用静态
,在使用JFrame
登录时,您可以使用:
Home() {
initComponents();
String login = JOptionPane.showInputDialog(this, "Input your name");
}
在使用静态变量时,您需要小心。在这种情况下,您不需要使用静态
,在使用JFrame
登录时,您可以使用:
Home() {
initComponents();
String login = JOptionPane.showInputDialog(this, "Input your name");
}
在使用静态变量时,您需要小心。在这种情况下,您不需要使用静态
,在使用JFrame
登录时,您可以使用:
Home() {
initComponents();
String login = JOptionPane.showInputDialog(this, "Input your name");
}
学习手工编写用户界面的代码是非常值得的,这将使您更容易知道何时使用表单编辑器以及如何充分利用它们
您应该将转储到用户上的窗口数限制为一个活动窗口,并使用对话框向用户显示或提示更多信息。有关更多详细信息,请参阅
JFrame
不是一个阻塞窗口,也就是说,当您使其可见时,代码将继续执行,这意味着,在您的情况下,您将显示登录窗口,但用户在尝试设置标签文本之前没有时间输入任何内容
这就是模态对话框出现的地方
LoginPanel loginPane = new LoginPanel();
// This will wait here until the dialog is closed for some reason...
int result = JOptionPane.showConfirmDialog(this, loginPane, "Login", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
// Then you can determine what you want to do in response to the
// closing of the dialog
if (result == JOptionPane.OK_OPTION) {
label.setText("Welcome " + loginPane.getUsername());
}
可运行的示例
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridBagLayout());
JLabel label = new JLabel("Unknown user");
add(label);
LoginPanel loginPane = new LoginPanel();
int result = JOptionPane.showConfirmDialog(this, loginPane, "Login", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
if (result == JOptionPane.OK_OPTION) {
label.setText("Welcome " + loginPane.getUsername());
}
}
}
public class LoginPanel extends JPanel {
private JTextField userName;
private JPasswordField password;
public LoginPanel() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.WEST;
add(new JLabel("Username: "), gbc);
gbc.gridy++;
add(new JLabel("Password: "), gbc);
gbc.gridx++;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.EAST;
userName = new JTextField(20);
password = new JPasswordField(20);
add(userName, gbc);
gbc.gridy++;
add(password, gbc);
}
public String getUsername() {
return userName.getText();
}
public char[] getPassword() {
return password.getPassword();
}
}
}
学习手工编写用户界面的代码是非常值得的,这将使您更容易知道何时使用表单编辑器以及如何充分利用它们
您应该将转储到用户上的窗口数限制为一个活动窗口,并使用对话框向用户显示或提示更多信息。有关更多详细信息,请参阅
JFrame
不是一个阻塞窗口,也就是说,当您使其可见时,代码将继续执行,这意味着,在您的情况下,您将显示登录窗口,但用户在尝试设置标签文本之前没有时间输入任何内容
这就是模态对话框出现的地方
LoginPanel loginPane = new LoginPanel();
// This will wait here until the dialog is closed for some reason...
int result = JOptionPane.showConfirmDialog(this, loginPane, "Login", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
// Then you can determine what you want to do in response to the
// closing of the dialog
if (result == JOptionPane.OK_OPTION) {
label.setText("Welcome " + loginPane.getUsername());
}
可运行的示例
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridBagLayout());
JLabel label = new JLabel("Unknown user");
add(label);
LoginPanel loginPane = new LoginPanel();
int result = JOptionPane.showConfirmDialog(this, loginPane, "Login", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
if (result == JOptionPane.OK_OPTION) {
label.setText("Welcome " + loginPane.getUsername());
}
}
}
public class LoginPanel extends JPanel {
private JTextField userName;
private JPasswordField password;
public LoginPanel() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.WEST;
add(new JLabel("Username: "), gbc);
gbc.gridy++;
add(new JLabel("Password: "), gbc);
gbc.gridx++;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.EAST;
userName = new JTextField(20);
password = new JPasswordField(20);
add(userName, gbc);
gbc.gridy++;
add(password, gbc);
}
public String getUsername() {
return userName.getText();
}
public char[] getPassword() {
return password.getPassword();
}
}
}
学习手工编写用户界面的代码是非常值得的,这将使您更容易知道何时使用表单编辑器以及如何充分利用它们
您应该将转储到用户上的窗口数限制为一个活动窗口,并使用对话框向用户显示或提示更多信息。有关更多详细信息,请参阅
JFrame
不是一个阻塞窗口,也就是说,当您使其可见时,代码将继续执行,这意味着,在您的情况下,您将显示登录窗口,但用户在尝试设置标签文本之前没有时间输入任何内容
这就是模态对话框出现的地方
LoginPanel loginPane = new LoginPanel();
// This will wait here until the dialog is closed for some reason...
int result = JOptionPane.showConfirmDialog(this, loginPane, "Login", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
// Then you can determine what you want to do in response to the
// closing of the dialog
if (result == JOptionPane.OK_OPTION) {
label.setText("Welcome " + loginPane.getUsername());
}
可运行的示例
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridBagLayout());
JLabel label = new JLabel("Unknown user");
add(label);
LoginPanel loginPane = new LoginPanel();
int result = JOptionPane.showConfirmDialog(this, loginPane, "Login", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
if (result == JOptionPane.OK_OPTION) {
label.setText("Welcome " + loginPane.getUsername());
}
}
}
public class LoginPanel extends JPanel {
private JTextField userName;
private JPasswordField password;
public LoginPanel() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.WEST;
add(new JLabel("Username: "), gbc);
gbc.gridy++;
add(new JLabel("Password: "), gbc);
gbc.gridx++;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.EAST;
userName = new JTextField(20);
password = new JPasswordField(20);
add(userName, gbc);
gbc.gridy++;
add(password, gbc);
}
public String getUsername() {
return userName.getText();
}
public char[] getPassword() {
return password.getPassword();
}
}
}
学习手工编写用户界面的代码是非常值得的,这将使您更容易知道何时使用表单编辑器以及如何充分利用它们
您应该将转储到用户上的窗口数限制为一个活动窗口,并使用对话框向用户显示或提示更多信息。有关更多详细信息,请参阅
JFrame
不是一个阻塞窗口,也就是说,当您使其可见时,代码将继续执行,这意味着,在您的情况下,您将显示登录窗口,但用户在尝试设置标签文本之前没有时间输入任何内容
这就是模态对话框出现的地方
LoginPanel loginPane = new LoginPanel();
// This will wait here until the dialog is closed for some reason...
int result = JOptionPane.showConfirmDialog(this, loginPane, "Login", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
// Then you can determine what you want to do in response to the
// closing of the dialog
if (result == JOptionPane.OK_OPTION) {
label.setText("Welcome " + loginPane.getUsername());
}
可运行的示例
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
public class Test {
public static void main(String[] args) {
new Test();
}
public Test() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
ex.printStackTrace();
}
JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
public TestPane() {
setLayout(new GridBagLayout());
JLabel label = new JLabel("Unknown user");
add(label);
LoginPanel loginPane = new LoginPanel();
int result = JOptionPane.showConfirmDialog(this, loginPane, "Login", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
if (result == JOptionPane.OK_OPTION) {
label.setText("Welcome " + loginPane.getUsername());
}
}
}
public class LoginPanel extends JPanel {
private JTextField userName;
private JPasswordField password;
public LoginPanel() {
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.WEST;
add(new JLabel("Username: "), gbc);
gbc.gridy++;
add(new JLabel("Password: "), gbc);
gbc.gridx++;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.EAST;
userName = new JTextField(20);
password = new JPasswordField(20);
add(userName, gbc);
gbc.gridy++;
add(password, gbc);
}
public String getUsername() {
return userName.getText();
}
public char[] getPassword() {
return password.getPassword();
}
}
}
初见;第二,我认为你实际上想要一个模态对话框,看;第三,考虑提供一个演示你的问题的方法。这不是一个代码转储,而是您正在做的一个示例,它突出了您所遇到的问题。这将减少混乱和更好的响应谢谢,我很感激。下次我会记住这一点。我们甚至不要开始第一次见面;第二,我认为你实际上想要一个模态对话框,看;第三,考虑提供一个演示你的问题的方法。这不是一个代码转储,而是您正在做的一个示例,它突出了您所遇到的问题。这将减少混乱和更好的响应谢谢,我很感激。下次我会记住这一点。我们甚至不要开始第一次见面;第二,我认为你实际上想要一个模态对话框,看;第三,考虑提供一个演示你的问题的方法。这不是一个代码转储,而是您正在做的一个示例,它突出了您所遇到的问题。这将减少混乱和更好的响应谢谢,我很感激。下次我会记住这一点。我们甚至不要开始第一次见面;第二,我认为你实际上想要一个模态对话框,看;第三,考虑提供一个演示你的问题的方法。这不是一个代码转储,而是您正在做的一个示例,它突出了您所遇到的问题。这将减少混乱和更好的响应谢谢,我很感激。下次我会记住这一点。我们甚至不要开始讨论这个问题