Java 如何将多个类链接到一个类中
我想创建一个Java 如何将多个类链接到一个类中,java,Java,我想创建一个JFrame,上面有一个JLabel,上面写着“简单文本”。但不是以通常的方式。我希望这样做,JFrame作为一个类在一个选项卡中独立,Jlabel在另一个选项卡中独立。我怎么做?我做了如下所示,但文本没有出现在窗口上 public class FirstClass { public static void main (String [] args) { SecondClass sc = new SecondClass (); ThirdC
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);
}
}
我认为实际上需要将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);
}
}
虽然正如有人在评论中所说,这是一种非常迂回的方式,有点不必要。虽然我也有一段时间没有使用JavaGUI JFrame/JLabel等,但我无法确认所有这些都正常工作 这似乎是一个问题,你为什么要这么做?可能吗?是的,但真的很奇怪……可能是这样。但我不知道如何回答“可能是”,你甚至没有点击我提供的链接,所以你只是“猜测”,你没有回答我的问题,“你为什么要这样做?”。请阅读,我只是希望能够使用多个类创建一个程序。当然,这就是问题所在。现在我将检查您的更正是否有效)如果有效,非常感谢。是的,一般的想法是JFrame和JLabel应该只是可以在类之间传递的对象。假定您正确导入了类和所有类,以便它们可以通信。随着Java的深入,您应该反复看到它。哦,是的,它起了作用。以前我只是忘了导入库)哈哈哈。我很高兴,非常感谢你,卡森,我非常感谢你。