【发布时间】:2013-01-18 07:02:16
【问题描述】:
对于学校,我必须制作一个 JFrame,并在其中一个按钮和两个文本字段。无论您在 Textfield 1 中放置什么,都必须在按下按钮时进入 textfield 2。我得到了代码,当我运行程序时我应该看到文本字段和按钮。无论出于何种原因,它都没有。
我来了这么远:
package helloworld;
import javax.swing.*;
import java.awt.event.*;
public class HelloWorld extends JFrame {
public static void main(String[] args) {
JFrame frame = new HelloWorld();
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Hello World Button App");
JPanel panel = new JPanel();
frame.setContentPane(panel);
fram.setVisible(true);
}
}
class panel extends JPanel {
public JButton btn1 = new JButton("Klick!");
public JTextField txt1 = new JTextField(10);
public JTextField txt2 = new JTextField(10);
public panel() {
add(btn1);
add(txt1);
add(txt2);
}
}
我还不能发布图片,但我会提供图片链接here
如果这个问题已经存在,我很抱歉,但我找不到类似的问题。 我是编程新手,所以当我忘记了什么或写错了什么时,请不要对我大喊大叫!
【问题讨论】:
-
fram.setVisible(true);应该是 frame.setVisible..
-
不要扩展
JFrame。我还没有看到这样做有意义的案例。只需创建一个实例并将 GUI 添加到其中。 -
@AndrewThompson 我认为定义我们的 owm 组件时有意义吗?可能是!
-
@joeyrohan 挑战。向我展示一个令人信服的 SSCCE,其中实现效果的唯一方法是扩展
JFrame。如果我可以重现显示的效果(而且它不仅仅是一个“哑”效果),没有扩展框架,答案将被视为无效。 -
@AndrewThompson 肯定可以重现相同的效果。而且我也知道扩展
JFrame是一件愚蠢的事情。但是假设如果创建多个实例,例如新的ClassExtendsJFrame().setVisible(true);// 第一个窗口@ 987654327@会不会很简单?
标签: java swing netbeans jpanel