Java Swing GUI按钮和文本字段不会出现。这是一个包含Jbutton和JTextField的测试代码
这是主类。button first不会首先显示,但当您将鼠标悬停在button的位置上时,它会显示。 但textfield的情况并非如此,它在任何情况下都不会出现Java Swing GUI按钮和文本字段不会出现。这是一个包含Jbutton和JTextField的测试代码,java,swing,user-interface,Java,Swing,User Interface,这是主类。button first不会首先显示,但当您将鼠标悬停在button的位置上时,它会显示。 但textfield的情况并非如此,它在任何情况下都不会出现 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test { public static void main(String[] args){ JFrame f=new JFrame("Calcula
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test {
public static void main(String[] args){
JFrame f=new JFrame("Calculator");
f.setSize(450,450);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
JPanel p=new JPanel();
f.add(p);
JTextField t=new JTextField(20);
t.setBounds(5, 5, 0, 0);
t.setLayout(null);
p.add(t);
JButton clear=new JButton("C");
clear.setBounds(5,100,50,50);
clear.setSize(50,40);
p.add(clear);
}
}
运行程序后,请尝试扩大程序窗口。此时应显示按钮和文本字段 运行程序后,请尝试放大程序窗口。此时应显示按钮和文本字段
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test {
public static void main(String[] args){
JFrame f=new JFrame("Calculator");
f.setSize(450,450);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p=new JPanel();
f.add(p);
JTextField t=new JTextField(20);
t.setBounds(5, 5, 0, 0);
t.setLayout(null);
p.add(t);
JButton clear=new JButton("C");
clear.setBounds(5,100,50,50);
clear.setSize(50,40);
p.add(clear);
f.setVisible(true);
}
}
尝试此(使用f.setVisible(true)
last)
试试这个(最后使用
f.setVisible(true)
。你的意思是说“JFrame”?@SyedDanish AJFrame
继承自java.awt.Window
,因此它是一个窗口。话虽如此,回答问题的人写了一个更通用的“窗口”,而一个JFrame
当然符合这个描述。@AndrewThompson好的,我明白了你的意思是说“JFrame”?@SyedDanish aJFrame
继承自java.awt.window
,所以它是窗口
。话虽如此,回答问题的人写了更通用的“窗口”,一个JFrame
肯定符合这个描述。@AndrewThompson好的,我知道了1)t.setLayout(null)代码>由于文本字段中未添加任何内容(无组件),因此不会产生任何效果。但不要在任何组件上调用它。Java GUI必须在不同的操作系统、屏幕大小、屏幕分辨率等上工作,在不同的地区使用不同的PLAF。因此,它们不利于像素完美布局。而是使用布局管理器,或与布局填充和边框一起使用。2) t.setBounds(5,5,0,0)代码>最后两个参数是宽度和高度。。。。因此,除非布局强制使其更大,否则该组件将根本不会出现。此外,布局(父面板的流布局)通常会忽略零部件的设置位置。3) Swing GUI应该在EDT上启动。4) 最重要的是,在添加了所有组件之后,将调用移动到setVisible(..)
到,并通过调用pack()
.5)JButton clear=new JButton(“C”)代码>向其他程序员提供比向用户提供的信息(即C
)更多的信息(即clear
)似乎很奇怪。作为一个用户,我想知道这是否意味着<代码>清除
<代码>复制
?6) 顺便说一句,很明显您还没有完成本教程的课程。来自互联网上的示例代码和提问都不能替代官方教程。7) 提供ASCII艺术或简单的绘图。。。。以最小尺寸显示GUI的预期布局,如果可以调整大小,则具有更大的宽度和高度。@AndrewThompson感谢所有这些信息。这对我真的很有帮助。但我只是一个初学者,正在学习基础知识,这也是我的第一个GUI作业(即制作一个基本计算器)。因此,我希望有一天我能学习到这一点,特别是在像你这样的人的帮助下。1)t.setLayout(null)代码>由于文本字段中未添加任何内容(无组件),因此不会产生任何效果。但不要在任何组件上调用它。Java GUI必须在不同的操作系统、屏幕大小、屏幕分辨率等上工作,在不同的地区使用不同的PLAF。因此,它们不利于像素完美布局。而是使用布局管理器,或与布局填充和边框一起使用。2) t.setBounds(5,5,0,0)代码>最后两个参数是宽度和高度。。。。因此,除非布局强制使其更大,否则该组件将根本不会出现。此外,布局(父面板的流布局)通常会忽略零部件的设置位置。3) Swing GUI应该在EDT上启动。4) 最重要的是,在添加了所有组件之后,将调用移动到setVisible(..)
到,并通过调用pack()
.5)JButton clear=new JButton(“C”)代码>向其他程序员提供比向用户提供的信息(即C
)更多的信息(即clear
)似乎很奇怪。作为一个用户,我想知道这是否意味着<代码>清除
<代码>复制
?6) 顺便说一句,很明显您还没有完成本教程的课程。来自互联网上的示例代码和提问都不能替代官方教程。7) 提供ASCII艺术或简单的绘图。。。。以最小尺寸显示GUI的预期布局,如果可以调整大小,则具有更大的宽度和高度。@AndrewThompson感谢所有这些信息。这对我真的很有帮助。但我只是一个初学者,正在学习基础知识,这也是我的第一个GUI作业(即制作一个基本计算器)。因此,我希望有一天我能学到这一点,特别是因为像你这样的人的帮助。谢谢它起作用了,我也得到了它。出了什么问题了再次感谢它起作用了,我也得到了它。出了什么问题了再次感谢