如何使 JTextField 输入在其他 类 中可访问
how to make JTextField input accessable in other classes
我正在尝试使我的 JTextField 输入对我的其他 类 可见。我不会用大量代码堵塞页面,只是问题所在。
我进行了大量的在线研究,但一无所获。
public class browseropen extends JFrame {
public browseropen() {
setDefaultCloseOperation(EXIT_ON_CLOSE); // setting app close on exit
JPanel panel = new JPanel(); // creating new app panel
JTextField urltxt = new JTextField(10); // establishing new text field for URL input
urltxt.addActionListener(new ActionListener() { // adding event for enter key
@Override
public void actionPerformed(ActionEvent event ) {
runClient(); // run browser open command
}
});
public String geturltxt() { // attempting to set input of JTextField to be available in other class
return urltxt.getText();
}
我将不胜感激任何见解,因为我刚刚开始学习 Java 并且想以正确的方式学习 :)
编辑:问题出在 geturltxt
简单的答案是:将该局部变量变成 class 的 字段,例如
public class BrowserOpen extends JFrame {
private final JTextField urltxt; // to be init'ed in your constructor for example
瞧,现在您的其他方法可以使用那个 字段 urltxt。
注意:请阅读 java 编码风格指南以获得您的 class/field 名字 "right"。
我正在尝试使我的 JTextField 输入对我的其他 类 可见。我不会用大量代码堵塞页面,只是问题所在。
我进行了大量的在线研究,但一无所获。
public class browseropen extends JFrame {
public browseropen() {
setDefaultCloseOperation(EXIT_ON_CLOSE); // setting app close on exit
JPanel panel = new JPanel(); // creating new app panel
JTextField urltxt = new JTextField(10); // establishing new text field for URL input
urltxt.addActionListener(new ActionListener() { // adding event for enter key
@Override
public void actionPerformed(ActionEvent event ) {
runClient(); // run browser open command
}
});
public String geturltxt() { // attempting to set input of JTextField to be available in other class
return urltxt.getText();
}
我将不胜感激任何见解,因为我刚刚开始学习 Java 并且想以正确的方式学习 :)
编辑:问题出在 geturltxt
简单的答案是:将该局部变量变成 class 的 字段,例如
public class BrowserOpen extends JFrame {
private final JTextField urltxt; // to be init'ed in your constructor for example
瞧,现在您的其他方法可以使用那个 字段 urltxt。
注意:请阅读 java 编码风格指南以获得您的 class/field 名字 "right"。