2017-06-28 37 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

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

相关问题