JFrame如何實現(xiàn)窗口最大化,,最小化和還原?
不要長篇大論,,只要一句代碼,,例子:
JFrame.setExtendedState(JFrame.NORMAL);
答:很多時候做java圖形界面時, 都會覺得外觀和皮膚需要改進(jìn)美化,所以通常會去掉邊框. 然后自定義邊框, 但是副作用就是右上角的 最小化, 最大化, 關(guān)閉 按鈕沒有了,需要我們自己寫3個按鈕去實現(xiàn) 這些功能.
最小化核心代碼
1 jframe.setExtendedState(JFrame.ICONIFIED);//窗口最小化
效果圖
參考代碼
12345678910111213141516171819202122232425262728293031323334353637383940 import java.awt.*;import java.awt.event.*;import javax.swing.*; public class JTFDemo extends JFrame implements ActionListener{JButton jb1,jb2,jb3;public JTFDemo() {JPanel jp = new JPanel(new FlowLayout(FlowLayout.RIGHT));//流式布局,從右邊開始jb1 = new JButton("小");jb1.addActionListener(this);jb2 = new JButton("大");jb2.addActionListener(this);jb3 = new JButton("關(guān)閉");jb3.addActionListener(this);jp.add(jb1);jp.add(jb2);jp.add(jb3);add(jp);//窗口屬性設(shè)置setUndecorated(true);// 不繪制邊框setSize(500, 230);// 窗口大小setLocationRelativeTo(null);// 窗口居中setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗口點擊關(guān)閉時,退出程序setVisible(true);// 窗口可見} public static void main(String[] args) {new JTFDemo(); //創(chuàng)建窗口并顯示} public void actionPerformed(ActionEvent e) {if(e.getSource()==jb1) {setExtendedState(ICONIFIED);//窗口最小化}else if(e.getSource()==jb2) {setExtendedState(MAXIMIZED_BOTH);//窗口最大化}else if(e.getSource()==jb3) {System.exit(0);//退出程序}}}
Tags:最小化如何實現(xiàn)窗口