2017-06-28 39 views
-2
一類

我想創建一個JFrame上有一個JLabel讀「簡單文本」。但不是通常的方式。我想這樣做,JFrame在一個選項卡中作爲一個類獨立,在另一個選項卡中作爲Jlabel。我該怎麼做?我做了如下所示,但文本沒有出現在窗口上。如何將多個類鏈接到

public class FirstClass { 

    public static void main (String [] args) { 

     SecondClass sc = new SecondClass(); 
     ThirdClass tc = new ThirdClass(); 

     sc.newWindow(); 
     tc.newText(); 
    } 
} 

import javax.swing.JFrame; 

public class SecondClass { 

    public void newWindow() { 
     JFrame jf = new JFrame ("Text Window"); 
     jf.setVisible(true); 
     jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     jf.setSize(500, 500); 
    } 
} 

import javax.swing.JLabel; 

public class ThirdClass { 

    public void newText(){ 
     JLabel jl = new JLabel ("Simple Text"); 
     jl.setVisible(true); 
     jl.setBounds(50, 50, 50, 50); 
     add (jl); 
    } 
} 
+1

這似乎是一個[XY問題(https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)你爲什麼要這麼做?可能嗎?是的,但真的很奇怪...... – Frakcool

+0

也許吧。但是我不知道如何)) –

+1

*「可能它是*,你甚至沒有點擊我提供的鏈接,所以你只能」猜測「,你沒有回答我的問題,*」爲什麼你想要那樣做?「*。請參加[遊覽]並閱讀[問] – Frakcool

回答

0

我相信你需要真正選擇JLabel添加到JFrame,因爲它代表現在,你只需要一個獨立的JFrame和獨立的JLabel。在您創建JLabel中的類,你想回到那個像...

public JLabel newText(){ 
    JLabel jl = new JLabel ("Simple Text"); 
    jl.setVisible(true); 
    jl.setBounds(50, 50, 50, 50); 
    return jl; 
} 

然後用相同JFrame的

import javax.swing.JFrame; 

public class SecondClass { 

public JFrame newWindow() { 
    JFrame jf = new JFrame ("Text Window"); 
    jf.setVisible(true); 
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    jf.setSize(500, 500); 
    return jf; 
} 

然後在你的第三類,你將它們連接起來,添加的JLabel到JFrame。

public class FirstClass { 

public static void main (String [] args) { 

    SecondClass sc = new SecondClass(); 
    ThirdClass tc = new ThirdClass(); 

    JFrame frame = sc.newWindow(); 
    JLabel label = tc.newText(); 
    frame.add(label); 
} 

} 

雖然有人在評論中稱,這是可以做到這一點有點不必要的一個非常迂迴的方式。雖然我也有一段時間沒有使用Java GUI JFrame/JLabel等,所以我無法確認所有這些工作。

+0

現在我將檢查是否你的改正工程))如果確實如此,非常感謝你。 –

+0

是的,一般的想法是JFrame和JLabel應該只是你可以在類之間傳遞的對象。假定你輸入了所有的類,並且所有的都能正確地進行通信。當你深入研究Java時,你應該看到一些重複的東西。 – Carson

+0

哦不,它沒有工作(((( –

相關問題