我的应用程序有一个需要在单击自定义最小化器按钮时最小化的 JWindow。如果有人知道如何最小化 JWindow,请回复。我进行了很多搜索,但找不到任何合适的方法来最小化。我知道如何最小化 JFrame。所以请不要费心回答有关 JFrame 的问题。谢谢。
问问题
1377 次
2 回答
3
我知道你不想听到这个,但可怕的事实是,未装饰的 jframe(使用 setstate 方法)和 jwindows 之间没有太大区别...... :)
JFrame f = new JFrame("Frame");
f.setUndecorated(true);
于 2012-10-18T18:30:59.467 回答
2
由于 JWindow 没有用任何控件图标装饰,因此没有提供任何setState
方法。一种解决方法是允许您的自定义最小化按钮根据需要设置窗口可见:
public class JWindowTest extends JFrame {
JWindow window = new JWindow();
JButton maxMinButton = new JButton("Minimize Window");
public JWindowTest() {
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
maxMinButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (window.isVisible()) {
maxMinButton.setText("Restore Window");
} else {
maxMinButton.setText("Minimize Window");
}
window.setVisible(!window.isVisible());
}
});
add(maxMinButton);
window.setBounds(30, 30, 300, 220);
window.setLocationRelativeTo(this);
window.add(new JLabel("Test JWindow", JLabel.CENTER));
window.setVisible(true);
}
public static void main(String[] args) {
new JWindowTest().setVisible(true);
}
}
于 2012-10-18T18:13:26.053 回答