重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
不太明白楼主的意思,是指每隔多少秒,窗口自动变大吗?
周村网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
import javax.swing.JFrame;
public class TestFrame extends JFrame{
private static final long serialVersionUID = 1L;
private static int width = 300;
private static int height = 200;
TestFrame(){
super();
this.setVisible(true);
new Thread(new Henwa()).start();
while(true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.setSize(width, height);
}
};
public static void main(String[] args) {
new TestFrame();
}
class Henwa implements Runnable{
public void run(){
for(int w = width;w800;w=w+10){
width = w;
height = w*2/3;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
java 中如何进行全屏模式和窗口模式的转换 代码如下所示: import java.awt.Dimension; import java.awt.DisplayMode; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; @SuppressWarnings("serial") public class WindowModelSample extends JFrame { public WindowModelSample() { super("窗口/全屏模式转换例子"); final JPanel panel = new JPanel(); final JButton button = new JButton("切换模式"); panel.setLocation(0, 0); Dimension dimension = new Dimension(1024, 768); panel.setSize(dimension); panel.setMaximumSize(dimension); panel.setMinimumSize(dimension); panel.setPreferredSize(dimension); panel.setLayout(null); button.addActionListener(new ActionListener() { boolean isWindowModel = true; @Override public void actionPerformed(ActionEvent e) { if ((isWindowModel = !isWindowModel)) { // 切换为窗口模式 WindowModelSample.this.dispose(); WindowModelSample.this.setUndecorated(false); WindowModelSample.this.getGraphicsConfiguration().getDevice().setFullScreenWindow(nu ll); WindowModelSample.this.setVisible(true); } else { // 切换为全屏独占模式 WindowModelSample.this.dispose(); WindowModelSample.this.setUndecorated(true); WindowModelSample.this.getGraphicsConfiguration().getDevice().setFullScreenWindow(W indowModelSample.this); WindowModelSample.this.getGraphicsConfiguration().getDevice().setDisplayMode(new DisplayMode(Toolkit.getDefaultToolkit().getScreenSize().width, Toolkit.getDefaultToolkit().getScreenSize().height, 16, DisplayMode.REFRESH_RATE_UNKNOWN)); WindowModelSample.this.repaint(); } } }); button.setBounds(100, 100, 100, 100); panel.add(button); setResizable(false); setLayout(null); setDefaultCloseOperation(EXIT_ON_CLOSE); setContentPane(panel); pack(); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { new WindowModelSample(); } } 上边这段代码就是关于窗口模式和全屏模式之间的切换代码,匆忙之间写的,有点简陋。
可以的实现图标大小自定义.
不过稍微复杂点, 你需要自己使用JLabel来显示标题 和 图标
还需要自己写代码来实现 最小化,最大化,关闭等按钮 .
效果图 (图标的大小是64X64)
核心代码如下
setUndecorated(true);//去掉窗口自带的边框
JPanel jpNorth = new JPanel(new BorderLayout());//顶部的面板
jpNorth.setBorder(new LineBorder(Color.DARK_GRAY));//给面板绘制一个线边框
jpNorth.setBackground(Color.WHITE);//设置面板背景色为白色
// 设置标题栏左边的图标和标题
JLabel jl = new JLabel("窗口标题");
jl.setFont(new Font(null, Font.BOLD, 30));
jl.setIcon(new ImageIcon(this.getClass().getResource("tb.png")));
jpNorth.add(jl, BorderLayout.WEST);
add(jpNorth, BorderLayout.NORTH);
使用gridbaglayout布局。
在JPanel中使用该布局存放按钮和标签组件。
该布局有点繁琐。有不懂请留言。
这里给出gridbaglayout布局参数说明。你用的上。
gridx——组件的左边缘与网格左部之间的距离,默认值为 RELATIVE
gridy——组件的上边缘与网格顶部之间的距离,默认值为 RELATIVE
gridwidth——组件的横向宽度,默认值为1
gridheight——组件的纵向高度,默认值为1
ipadx——组件间的横向间距,组件的宽度就是这个组件的最小宽度加上ipadx值, 默认值为 0。
ipady——组件间的纵向间距,组件的高度就是这个组件的最小高度加上ipady值, 默认值为 0。
weightx——当窗口变大时,各组件沿水平方向跟着变大的比例,默认值为 0。
weighty——当窗口变大时,各组件沿垂直方向跟着变大的比例,默认值为 0。
fill——组件比显示区域小,可以用来控制组件的行为。控制组件是垂直填充,还是水平填充,或者两个方向一起填充,默认值为 NONE。
insets——指组件与显示区域四周边缘的空白区域的大小new Insets(上、左、下、右),默认值为 new Insets(0, 0, 0, 0)。
anchor——组件比显示区域小,告诉布局管理器组件在表格空间中的位置,默认值为
CENTER。
对gridwidth与gridheight做了修改后,必须记得要对fill属性做相应的修改,否则组件所显示的大小还是原来的大小。
gridx、gridy的可能值
RELATIVE 将被放置在前一个组件的右侧或下方
gridwidth、gridheight的可能值
RELATIVE 指定此组件为其行或列中的倒数第二个组件
REMAINDER 创建的组件会从创建的起点位置 开始一直延伸到容器所能允许的限度为止.
fill的可能值
NONE:不调整组件大小。
HORIZONTAL:加宽组件,使它在水平方向上填满其显示区域,但是不改变高度。 VERTICAL:加高组件,使它在垂直方向上填满其显示区域,但是不改变宽度。 BOTH:使组件完全填满其显示区域。
有两种方式一种:window.showModalDialog('yueshOperate.do?method=getYingxzmkehh='+kehh+'yingxid='+yingxid,yue,"dialogWidth:900px;dialogHeight:640px;help:no;scroll:yes;center:yes;status:no");的形式就直接修改dialogWidth:900px;dialogHeight:640px,调节数字大小就行了;
第二种是windows.open的形式和这个一样也是找到width和height项修改大小即可
下面是一个类用来完成你所要求的:
class TestFrame extends JFrame
{
public TestFrame()
{
setTitle("");//设置无标题
setResizable(true);//设置用户可以改变窗口大小
setVisible(true);//窗体可见
}
}
至于所说的无边框,在没有给窗体设置大小时,系统默认就是无边框的
希望我的回答能使你满意,如果满意 请给我最佳答案,谢谢