Java 如何使用JFrame在frame中编写?

Java 如何使用JFrame在frame中编写?,java,swing,jframe,awt,Java,Swing,Jframe,Awt,我是Java的初学者,我正在用这本书来学习,现在我正在学习第一个GUI主题,我遇到了一个问题。我不知道为什么,但我看不到我试图放入框架中的文本,这是代码: import java.awt.*; import javax.swing.*; public class Ramka { public static void main(String[] args) { JFrame ramka = new JFrame(); ramka.setDefa

我是Java的初学者,我正在用这本书来学习,现在我正在学习第一个GUI主题,我遇到了一个问题。我不知道为什么,但我看不到我试图放入框架中的文本,这是代码:

import java.awt.*;
import javax.swing.*;

public class Ramka  {

    public static void main(String[] args)
    {
        JFrame ramka = new JFrame();
        ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        ramka.setTitle("Frame");
        ramka.setVisible(true);
        Toolkit zestaw = Toolkit.getDefaultToolkit();
        Dimension rozmiar = zestaw.getScreenSize();
        int szerokosc = rozmiar.width;
        int wysokosc = rozmiar.height;
        ramka.setSize(szerokosc, wysokosc);
    }
}

class Ramkatekst extends JComponent{
    Toolkit zestaw = Toolkit.getDefaultToolkit();
    Dimension rozmiar = zestaw.getScreenSize();
    int szerokosc = rozmiar.width/2;
    int wysokosc = rozmiar.height/2;
    public void paintComponent(Graphics g)
    {
        g.drawString(" Sample text",szerokosc, wysokosc );
    }
}

正如@pshemo指出的,Ramkatekst从未被使用过。您需要创建它的一个实例,并将其添加到JFrame“ramka”中。因此,只需在主方法末尾添加这一行:

    ramka.add(new Ramkatekst());

您在示例中从未使用过
Ramkatekst
(您只声明了这样的类型,但从未使用过)。而且
paintComponent
应该调用它的
super.paintComponent(g)作为第一条指令。而且你永远不会让
ramka
可见。无论是故意简化,不意味着按原样运行,或者考虑改变书……你从java学习的书的名字是什么?Horstmann cary cornell Java core1)两行
JFrame ramka=new JFrame()&
ramka.setTitle(“帧”)可以缩短为
JFrame ramka=newjframe(“Frame”)2)ramka.setVisible之后的所有内容(true)可以简化为
ramk.setExtendedState(JFrame.MAXIMIZED_两者)谢谢你,安德鲁,但是你能给我解释一下setExetendedState和MAXIMIZED_是如何工作的吗?如果这有助于解决问题,请回答。