【问题标题】:JFrame to Window classJFrame 到 Window 类
【发布时间】:2011-08-23 02:18:46
【问题描述】:

我想知道这行代码是真的还是有更好的方法? 谁能帮帮我?

JFrame jframe=new JFrame()
Window window;
jframe.setUndecorated(true);


window=(Window)jframe; //is this line true?

谢谢。

【问题讨论】:

  • 你尝试的时候得到了什么结果?顺便说一句 - 一个“更好的方法”来做什么?
  • @Andrew 我使用的是 AWTUtilites 库,setWindowOpacity 方法运行良好但 setWindowShape 不起作用。
  • 我写了那个作业,实际上是这样 window=jframe;而且完全没有问题。但是你想做什么?使用 Swing 时,您通常一直使用 Swing 组件。为什么需要 Window?
  • @mahdi 你的总体目标是什么?
  • @reporter 和 @Jav_Rock 我把我的目标告诉了 Andrew。我使用的是 AWTUtilites 库,setWindowOpacity 方法运行良好但 setWindowShape 不起作用

标签: java swing window jframe


【解决方案1】:

是的,这是真的,但你不需要演员表。 java.swing.JFrame 是 java.awt.Window 的子类,所以没关系。而且我找不到为什么应用于您的 Window 变量的方法不适用于 JFrame 变量的原因。这不应该发生,因为 Java 只对方法调用使用后期绑定。

尝试检查你的代码,检查你是否导入了正确的类,因为我认为你误解了一些东西。

【讨论】:

  • 我正在使用 AWTUtilities 库,方法 setWindowOpacity(Window window, float opacity) 运行良好,但 setWindowShape(Window, Sahpe) 不起作用
  • 好吧对不起,我明白你现在在做什么。那么答案是:是的,这条线是正确的。如果该方法不起作用,可能是因为您的系统不支持此功能。在另一台机器上尝试你的代码怎么样?下一次,在你的问题中写下异常文本,因为很难理解你的意思。干杯。
  • 好的,乔尔,谢谢你,我检查一下。是的,我的问题不完整,抱歉。
【解决方案2】:

如果您使用的是 JFrame,我的建议是您尝试这样的方法。首先是调用createAndShowGUI()的main方法:

public static void main(String[] args) {
    javax.swing.SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
        try {
            createAndShowGUI();
        } catch (UnsupportedLookAndFeelException e) {
            e.printStackTrace();
        }
        }
    });
    }

然后你创建JFrame结构:

static void createAndShowGUI() throws UnsupportedLookAndFeelException {
    // Creates the window (JFrame)
    frame = new JFrame("Name of the window");//                                    
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    // Create and set up the content pane.
    new Interface();
    frame.pack();
    frame.setSize(700, 400);
    frame.setLocationRelativeTo(null);// centers the window in the screen
    frame.setVisible(true);
    }

Interface() 是我创建的一个类的构造函数,它使用框架作为主窗口,并在其中添加 JPanel,但您可以通过许多其他方式进行操作。

我猜你想要的是显示一个窗口,不是吗?不清楚的是是否要使用 Swing 组件。

【讨论】:

  • 是的,您的代码有效。我需要将 Window 类传递给 setWindowShape(Window, Sahpe) 方法,此方法不起作用,但当我使用此行代码 w=(Window)JFrame 时,方法 setWindowOpacity(Window, float) 起作用。 w 是一个窗口
猜你喜欢
  • 1970-01-01
  • 2012-03-27
  • 1970-01-01
  • 2013-12-18
  • 1970-01-01
  • 2014-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多