所以我有一个GUI,我使用"这个初始化。"如下:
public class GUI extends JFrame {
public static void main(String[] args) {
GUI gui = new GUI();
gui.setVisible(true);
gui.setExtendedState(JFrame.MAXIMIZED_BOTH);
}
//constructor
public GUI() {
this.setPreferredSize(new Dimension(1920, 1080));
this.getContentPane().setBounds(new Rectangle(0, 0, 1920, 1080));
this.setBounds(new Rectangle(0, 0, 1920, 1080));
this.setBackground(Color.WHITE);
this.setTitle("GUI");
this.setBounds(0, 0, 1919, 1080);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().setLayout(null);
etc.
}
}
我想在GUI类中创建的框架上使用单独的类.setCursor方法。
public class OtherClass {
public static void OtherClassMethod() {
*something*.setCursor(...);
}
}
有没有办法引用我的GUI类中初始化的框架,所以我可以在单独的类中使用setCursor等,或者我是否需要使所有方法引用GUI类中的框架?出于组织原因,我只在一个单独的类中使用setCursor方法,所以如果需要,我可以将它放回主GUI类中,并在那里使用this.setCursor(...)。
此外,如果尝试这样做是不好的编程习惯,我道歉,请告诉我为什么会这样,因为我想从中学习。
根据接受的答案,我改变了我的代码:
public class GUI extends JFrame {
public static GUI gui;
public static void main(String[] args) {
gui = new GUI();
gui.setVisible(true);
gui.setExtendedState(JFrame.MAXIMIZED_BOTH);
}
//constructor
public GUI() {
this.setPreferredSize(new Dimension(1920, 1080));
this.getContentPane().setBounds(new Rectangle(0, 0, 1920, 1080));
this.setBounds(new Rectangle(0, 0, 1920, 1080));
this.setBackground(Color.WHITE);
this.setTitle("GUI");
this.setBounds(0, 0, 1919, 1080);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().setLayout(null);
etc.
}
}
我将保留原始代码以及更改的学习代码。显然,这个问题很容易解决,我有点尴尬,我自己也没有想到,但我马上就不明白了。希望其他人可以从中吸取教训。
答案 0 :(得分:2)
这是基本的java:
public class GUI extends JFrame {
public static GUI gui;
public static void main(String[] args) {
gui = new GUI();
gui.setVisible(true);
gui.setExtendedState(JFrame.MAXIMIZED_BOTH);
}
现在,只需输入GUI.gui.setCursor(等)
即可