Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swing GUI按钮和文本字段不会出现。这是一个包含Jbutton和JTextField的测试代码_Java_Swing_User Interface - Fatal编程技术网

Java Swing GUI按钮和文本字段不会出现。这是一个包含Jbutton和JTextField的测试代码

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

这是主类。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("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 A
JFrame
继承自
java.awt.Window
,因此它是一个
窗口。话虽如此,回答问题的人写了一个更通用的“窗口”,而一个
JFrame
当然符合这个描述。@AndrewThompson好的,我明白了你的意思是说“JFrame”?@SyedDanish a
JFrame
继承自
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作业(即制作一个基本计算器)。因此,我希望有一天我能学到这一点,特别是因为像你这样的人的帮助。谢谢它起作用了,我也得到了它。出了什么问题了再次感谢它起作用了,我也得到了它。出了什么问题了再次感谢