Java 将JLabel添加到JFrame
我在向JFrame添加JLabel时遇到问题。我使用了一些教程中描述的JPanel,但是标签不会在框架中弹出;其他swing组件(如JTextField、JButton等)也存在同样的问题。。画直线、矩形等都可以。我希望有人知道,我在这里犯了什么样的错误:Java 将JLabel添加到JFrame,java,swing,jframe,jlabel,Java,Swing,Jframe,Jlabel,我在向JFrame添加JLabel时遇到问题。我使用了一些教程中描述的JPanel,但是标签不会在框架中弹出;其他swing组件(如JTextField、JButton等)也存在同样的问题。。画直线、矩形等都可以。我希望有人知道,我在这里犯了什么样的错误: package plot1; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.Graphics; import java.awt.event
package plot1;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
public class Gui extends JFrame {
private JPanel contentPane;
public Gui(){
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
setSize(1200, 600);
setLayout(null);
setLocationRelativeTo(null);
setTitle("Plot");
addWindowListener(new WindowAdapter(){
public void windowClosed(WindowEvent evnt){
System.exit(0);
}
});
setResizable(false);
JLabel lblStanFunc = new JLabel("Die Funktionssyntax lautet:");
lblStanFunc.setBounds(800, 40, 300, 30);
lblStanFunc.setVisible(true);
add(lblStanFunc);
}
}
主方法位于另一个类中:
package plot1;
public class Main {
public static void main(String[] args){
new Gui().setVisible(true);;
}
}
框架会按预期弹出,但缺少JLabel。感谢所有有用的评论 只需添加setVisible(true)
只需添加setVisible(true)
我也不能复制它。如sweeper所述,如果屏幕不够大,请将框架大小更改为
setSize(800600)
,将标签位置更改为lblStanFunc.setBounds(30025030030)
。标签应该在屏幕中央。我也不能复制它。如sweeper所述,如果屏幕不够大,请将框架大小更改为setSize(800600)
,将标签位置更改为lblStanFunc.setBounds(30025030030)
。标签应该在屏幕的中央。我无法复制。我能很清楚地看到标签。它在画面的右上角。您的屏幕是否不够大,无法显示整个JFrame?1)要更快获得更好的帮助,请发布一个或。2) Java GUI必须在不同的操作系统、屏幕大小、屏幕分辨率等上工作,在不同的地区使用不同的PLAF。因此,它们不利于像素完美布局。而是使用布局管理器,或者与布局填充和边框一起使用。您可能需要调用pack
,并且根据Swing上的Java教程,您确实需要在事件调度线程上运行GUI。我无法重现这一点。我能很清楚地看到标签。它在画面的右上角。您的屏幕是否不够大,无法显示整个JFrame?1)要更快获得更好的帮助,请发布一个或。2) Java GUI必须在不同的操作系统、屏幕大小、屏幕分辨率等上工作,在不同的地区使用不同的PLAF。因此,它们不利于像素完美布局。而是使用布局管理器,或者与布局填充和边框一起使用。您可能需要一个pack
调用,并且您确实需要根据Swing上的Java教程在事件调度线程上运行GUI。
import java.awt.BorderLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class GUI extends JFrame {
private JPanel contentPane;
public GUI(){
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
setSize(1200, 600);
setLayout(null);
setLocationRelativeTo(null);
setTitle("Plot");
addWindowListener(new WindowAdapter(){
public void windowClosed(WindowEvent evnt){
System.exit(0);
}
});
setResizable(false);
setVisible(true);
JLabel lblStanFunc = new JLabel("Die Funktionssyntax lautet:");
lblStanFunc.setBounds(800, 40, 300, 30);
lblStanFunc.setVisible(true);
add(lblStanFunc);
}
public static void main(String[] args) {
new GUI();
}
}