在java中使用JPanels时,如何将一个类中的用户输入数据显示给另一个类
我在这方面遇到了一些困难。基本上,我希望用户在一个Java类中输入一个名称,并在另一个Java类中显示该数据。我尝试使用gets,但总是得到“null”。如果我想从我的类(exampl)中得到一个int来显示在我的第二个类中,你会怎么做呢。基本上是一样的吗 这里有一个例子来说明我的意思 头等舱在java中使用JPanels时,如何将一个类中的用户输入数据显示给另一个类,java,swing,jpanel,Java,Swing,Jpanel,我在这方面遇到了一些困难。基本上,我希望用户在一个Java类中输入一个名称,并在另一个Java类中显示该数据。我尝试使用gets,但总是得到“null”。如果我想从我的类(exampl)中得到一个int来显示在我的第二个类中,你会怎么做呢。基本上是一样的吗 这里有一个例子来说明我的意思 头等舱 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Exampl extends JFrame
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Exampl extends JFrame implements ActionListener {
JLabel intro = new JLabel("Welcome What is your name?");
JTextField answer = new JTextField(10);
JButton button = new JButton("Enter");
final int WIDTH = 330;
final int HEIGHT = 330;
JLabel greeting = new JLabel("");
JButton next =new JButton("Next");
String name = answer.getText();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Exampl() {
super("Welcome");
setSize(WIDTH, HEIGHT);
setLayout(new FlowLayout());
add(intro);
add(answer);
add(button);
add(greeting);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent event) {
Object source = event.getSource();
if (source == button) {
String greet = "Hello there" + name;
greeting.setText(greet);
add(next);
next.addActionListener(this);
if(source==next)
dispose();
new Hello();
}
}
public static void main(String[] args) {
Exampl frame= new Exampl();
frame.setVisible(true);
}
}
二等舱
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Hello extends JFrame implements ActionListener {
String name;
JLabel hi = new JLabel("Nice to see you "+name);
JButton button = new JButton("Enter");
final int WIDTH = 330;
final int HEIGHT = 330;
JLabel greeting = new JLabel("");
JButton next =new JButton("Next");
public Hello() {
super("Welcome");
setSize(WIDTH, HEIGHT);
setLayout(new FlowLayout());
add(hi);
add(button);
add(greeting);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
button.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent event) {
Object source = event.getSource();
if (source == button) {
String greet = "example " + name;
greeting.setText(greet);
add(next);
}
}
public static void main(String[] args) {
Exampl frame= new Exampl();
frame.setVisible(true);
}
}
在第一个类中创建一个getter并扩展第二个类,然后使用super.getter() 在第一个类中创建一个getter并扩展第二个类,然后使用super.getter() 我给你的建议是:
JFrame
,而是扩展JPanel
。见:和JFrames
。请参阅(坏的),您可能希望尝试使用或你所说的延伸是什么意思?你是说“公共课”吗?我是java新手,所以我知道的不多
JTextField
中的值,然后从另一个类调用该方法,例如:
public String getUserName() {
return userNameField.getText();
}
public int getDigit() {
try {
return Integer.parseInt(digitField.getText());
} catch (NumberFormatException nfe) {
nfe.printStackTrace();
}
return -1; //In case it's not a number, or return 0, or whatever you need
}
//------In another class------//
int digit = object1.getDigit(); //Where object1 is an instance of the other class where those methods are defined
我给你的建议是:
JFrame
,而是扩展JPanel
。见:和JFrames
。请参阅(坏的),您可能希望尝试使用或你所说的延伸是什么意思?你是说“公共课”吗?我是java新手,所以我知道的不多
JTextField
中的值,然后从另一个类调用该方法,例如:
public String getUserName() {
return userNameField.getText();
}
public int getDigit() {
try {
return Integer.parseInt(digitField.getText());
} catch (NumberFormatException nfe) {
nfe.printStackTrace();
}
return -1; //In case it's not a number, or return 0, or whatever you need
}
//------In another class------//
int digit = object1.getDigit(); //Where object1 is an instance of the other class where those methods are defined
是 啊我只是添加了第二个类来说明我的意思。我希望输入的任何值都能转到下一个JPanel。例如,如果有人在第一个类中写下“Fred”,我希望该值能够显示在第二个类上可能是Thank you的副本,这非常有用,因为它简化了事情,但我想知道如何将值移动到另一个类(如int)。我正在计划做一个项目,我把输入的名字和一个随机的int添加到一个文件中,这样我就可以存储它了。或者将代码添加到同一个类中更有意义吗?请阅读下面我答案的编辑。我只是添加了第二个类来说明我的意思。我希望输入的任何值都能转到下一个JPanel。例如,如果有人在第一个类中写下“Fred”,我希望该值能够显示在第二个类上可能是Thank you的副本,这非常有用,因为它简化了事情,但我想知道如何将值移动到另一个类(如int)。我正在计划做一个项目,我把输入的名字和一个随机的int添加到一个文件中,这样我就可以存储它了。或者将这些代码添加到同一个类中会更有意义吗?请阅读下面我的答案中的编辑您所说的扩展是什么意思?你是说“公共课”吗?我是java新手,所以我知道的不多。你说的扩展是什么意思?你是说“公共课”吗?我是java新手,所以我知道的不多。非常感谢。你帮了大忙,非常感谢。你帮了大忙。