怎样给JFrame加上一个可以切换有无标题栏的组件?就是点击该组件时,可以去除掉和添加上标题栏.
2个回答
展开全部
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRootPane;
public class test extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
boolean ishave = true;
JButton button = new JButton("去掉窗体");
public test() {
getContentPane().add(new JLabel("Just a test."), BorderLayout.CENTER);
button.addActionListener(this);
getContentPane().add(button, BorderLayout.SOUTH);
setSize(300, 150);
setVisible(true);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
/**
* 函 数 名: main<br>
* 功能描述: <br>
* 输入输出: <br>
*
* @param args
* <br>
* 创 建 人:王国庆<br>
* 日 期: Feb 20, 2013<br>
*
* 修 改 人: 日 期:
*/
public static void main(String[] args) {
new test();
}
@Override
public void actionPerformed(ActionEvent e) {
if (ishave) {
ishave = false;
this.setVisible(false);
this.dispose();
this.setUndecorated(true); // 去掉窗口的装饰
this.getRootPane().setWindowDecorationStyle(JRootPane.NONE); // 采用指定的窗口装饰风格
this.setVisible(true);
button.setText("恢复窗体装饰");
} else {
ishave = true;
this.setVisible(false);
this.dispose();
this.setUndecorated(false); // 恢复掉窗口的装饰
this.setVisible(true);
button.setText("去掉窗口的装饰");
}
}
}
/**
经过测试,可以通过,如果你还要其他的
http://hi.baidu.com/wangguoqingsll/item/19f30738890af7f597f88db7
你可以看看
*/
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JRootPane;
public class test extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
boolean ishave = true;
JButton button = new JButton("去掉窗体");
public test() {
getContentPane().add(new JLabel("Just a test."), BorderLayout.CENTER);
button.addActionListener(this);
getContentPane().add(button, BorderLayout.SOUTH);
setSize(300, 150);
setVisible(true);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
/**
* 函 数 名: main<br>
* 功能描述: <br>
* 输入输出: <br>
*
* @param args
* <br>
* 创 建 人:王国庆<br>
* 日 期: Feb 20, 2013<br>
*
* 修 改 人: 日 期:
*/
public static void main(String[] args) {
new test();
}
@Override
public void actionPerformed(ActionEvent e) {
if (ishave) {
ishave = false;
this.setVisible(false);
this.dispose();
this.setUndecorated(true); // 去掉窗口的装饰
this.getRootPane().setWindowDecorationStyle(JRootPane.NONE); // 采用指定的窗口装饰风格
this.setVisible(true);
button.setText("恢复窗体装饰");
} else {
ishave = true;
this.setVisible(false);
this.dispose();
this.setUndecorated(false); // 恢复掉窗口的装饰
this.setVisible(true);
button.setText("去掉窗口的装饰");
}
}
}
/**
经过测试,可以通过,如果你还要其他的
http://hi.baidu.com/wangguoqingsll/item/19f30738890af7f597f88db7
你可以看看
*/
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询