2012-09-12 130 views
2

可能重复,以尽量减少一个JFrame:
JButton minimizing a window(JFrame)如何通过点击一个JButton

我删除Jframe的关闭/最小化按钮,我想加上我自己的按钮,用于关闭,它可以使用.dispose();工作,但是如果我点击JButton,应该如何最小化JFrame?

我认为.setVisible(false);将完全隐藏它,我不会有任何东西点击,在TaskBar中获取JFrame。

+0

和另一DUP http://stackoverflow.com/questions/3965336 /如何到最小化-A-的JFrame - 窗口 - from-java – RNJ

+0

对不起,不搜索! – user1665700

回答

7

只需使用.setState(Frame.ICONIFIED)

工作实例:

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 

public class FrameTest { 
    public static void main(String args[]) throws Exception { 
     final JFrame frame = new JFrame(); 
     frame.setUndecorated(true); 
     JButton button = new JButton("Minimize"); 
     button.addActionListener(new ActionListener() { 
      @Override 
      public void actionPerformed(ActionEvent e) { 
       frame.setState(Frame.ICONIFIED); 
      } 
     }); 
     frame.add(button); 
     frame.pack(); 
     frame.setVisible(true); 
     frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 
    } 
} 
+1

不适用于未装饰的顶级容器 – mKorbel

+0

@mKorbel为什么不,请参阅我的编辑 – cubanacan

+0

同意,我的pardor – mKorbel

1

试试这个:

frame.setExtendedState(frame.getExtendedState | Frame.ICONIFIED); 

frame.setExtendedState(frame.getExtendedState | ~Frame.MAXIMIZED_BOTH);