JFrame如何实现窗口最大化,最小化和还原?
不要长篇大论,只要一句代码,例子:
JFrame.setExtendedState(JFrame.NORMAL);
答: 很多时候做java图形界面时, 都会觉得外观和皮肤需要改进美化, 所以通常会去掉边框. 然后自定义边框, 但是副作用就是右上角的 最小化, 最大化, 关闭 按钮没有了, 需要我们自己写3个按钮去实现 这些功能.
最小化核心代码
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("关闭"); jb3.addActionListener(this); jp.add(jb1); jp.add(jb2); jp.add(jb3); add(jp); //窗口属性设置 setUndecorated(true);// 不绘制边框 setSize(500, 230);// 窗口大小 setLocationRelativeTo(null);// 窗口居中 setDefaultCloseOperation(EXIT_ON_CLOSE);// 窗口点击关闭时,退出程序 setVisible(true);// 窗口可见 } public static void main(String[] args) { new JTFDemo(); //创建窗口并显示 } 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);//退出程序 } } }
下一篇:请求大神改像素,加文字