2015-07-08 4 views
0

Я только начал изучать GUI и смотрел учебник от «thenewboston», где он написал это. Но я не понимаю, почему JFrame - единственный импорт, который унаследован? Я не уверен, что это только один из тех случаев, когда это происходит потому, что в противном случае java даст ему ошибку.Почему импорт JFrame требует наследования, но FlowLayout, JLabel и т. Д. Нет?

import java.awt.FlowLayout; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 

public class tuna extends JFrame { 

    private JLabel item1; 

    public tuna(){ 
     super("The title bar"); 
     setLayout(new FlowLayout());    
     item1 = new JLabel("This is a sentence."); 
     item1.setToolTipText("This is gonna show up on hover"); 
     add(item1); 
    } 
} 
+1

Я думаю, вам нужно изучить более базовую Java, прежде чем вы начнете изучать графический интерфейс. Этот вопрос касается базового использования классов. – RealSkeptic

ответ

2

JFrame НЕ требует наследования. На самом деле вы НЕ должны использовать наследование.

Посмотрите на код FrameDemo.java из учебника Swing по телефону How to Make Frames для лучшего дизайна.

Кроме того, имена классов Java должны начинаться с символа верхнего регистра. Я бы придерживался учебников Swing вместо текущих обучающих программ, на которые вы смотрите.