当前位置: 首页 > 知识库问答 >
问题:

将JLabel添加到JFrame

薛鹏飞
2023-03-14

我在向JFrame添加JLabel时遇到问题。我使用了一些教程中描述的JPanel,但标签不会在框架中弹出;其他swing组件(如JTextField、JButton等)也存在同样的问题。。绘制直线、矩形等确实可行。我希望有人知道,我在这里犯了什么样的错误:

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丢失。感谢所有有用的评论。

共有2个答案

冯胤
2023-03-14

我也不能重现它。正如清扫者所说,如果您的屏幕不够大,请将帧大小更改为setSize(800,600),并将位置标记为lblStanFunc.set边界(300, 250, 300, 30)。标签应该在屏幕的中心。

劳昊明
2023-03-14

只需添加设置可见(true)

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();
        }
}
 类似资料:
  • 问题内容: 我有两节课 我的主要班级创建了一个框架,我希望另一个班级为其添加内容。一读arroudn告诉我,我应该使用组件来执行此操作,但是当我运行代码时,框架为空。 我的Component类创建一个JLabel 我没有任何编译错误,但是我的JFrame中没有任何文本。 谁能解释我在做什么错? 克里斯 问题答案: 您需要 添加 的。最好扩展而不是扩展,因为它具有默认的布局管理器,并且无需设置组件大

  • 我有一个9x9面板,它是每个面板都有一个JLabel,所以 我试过: 但是,我发现您很可能不能将“UndoableEditListener”添加到JLabels中。(对吗?) 我看到了一些可以将“UndoableEditListener”添加到JTextPane的示例,所以我想也许我可以创建一个JTextPane窗格[9][9],并将一个textpane添加到每个JLabel(添加到JPanel中

  • 问题内容: 我想用JLabel替换JButton,并且希望我的代码在单击JLabel时执行一些操作。 当我拥有JButton时,我使用动作侦听器来处理按钮的单击: 当我替换为时,我在Eclipse中收到以下错误消息: 对于JLabel类型,未定义方法addActionListener(ChipsListener) 但我确实知道应该可以将单击处理程序附加到JLabel。有人知道该怎么做吗? 问题答案

  • 我正在尝试将此 JPanel 添加到 JFrame 中,但我看不到他。当我创建新的 java 类并自己制作这个框架时,一切都很好。 来自JFrame表单的代码。 来自 JPanel 的代码: 来自Java类的代码。 我想不出区别在哪里。有人能帮我吗?

  • 我有一个关于向Java框架添加组件的问题。 我有一个带有两个按钮的JGroup和一个添加了JTable的JScrollPane。我想将这两个都添加到JFrame中。 我可以将JPanel添加到JFrame,或者将JScrollPane添加到JFrame,并且它们可以正确显示。我很难将它们都添加到JFrame并显示它们。 是否有与JFrames相关的东西不允许这样做?任何帮助都将不胜感激。 编辑 问