对于学校,我必须制作一个 JFrame 并在其中一个按钮和两个文本字段中。当按下按钮时,您在文本字段一中输入的任何内容都必须进入文本字段二中。我得到的代码是当我运行程序时我应该看到文本字段和按钮。无论出于什么原因,它都没有。
我到目前为止:
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
如果这个问题已经存在,我很抱歉,但我找不到类似的问题。
我是编程新手,所以当我忘记了什么或写错了什么时请不要对我大喊大叫!
在这里,我对您的代码进行了一些修改,但采用了类似的方式。
我不会延长JFrame
除非我不想做一些有创意的事情,但你总是可以。
你已经延长了JFrame
,所以没有必要调用方法frame.foo()
但简单地说foo()
,以及最重要的JFrame frame = new HelloWorld()
,如果你已经延长了你的课程,那就没有意义了JFrame
:
![enter image description here](https://i.stack.imgur.com/pRrh5.png)
import javax.swing.*;
public class HelloWorld extends JFrame{
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new HelloWorld().setVisible(true);
}
});
}
public HelloWorld()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Hello World Button App");
panel pan= new panel();
add(pan.panel);
pack();
setVisible(true);
}
}
class panel {
private JButton btn1 = new JButton("Klick!");
private JTextField txt1 = new JTextField(10);
private JTextField txt2 = new JTextField(10);
JPanel panel;
public panel() {
panel = new JPanel();
panel.add(btn1);
panel.add(txt1);
panel.add(txt2);
}
}
此外,您还可以扩展您的panel
与 一起上课JPanel
:
public HelloWorld()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("Hello World Button App");
panel pan= new panel();
add(pan);
pack();
setVisible(true);
}
}
class panel extends JPanel {
private JButton btn1 = new JButton("Klick!");
private JTextField txt1 = new JTextField(10);
private JTextField txt2 = new JTextField(10);
public panel() {
add(btn1);
add(txt1);
add(txt2);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)