Java 如何使用JFrame在frame中编写?
我是Java的初学者,我正在用这本书来学习,现在我正在学习第一个GUI主题,我遇到了一个问题。我不知道为什么,但我看不到我试图放入框架中的文本,这是代码: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
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_是如何工作的吗?如果这有助于解决问题,请回答。