Java中JDialog如何调整大小,要可行

setBounds不行... setBounds不行 展开
 我来答
小傻

推荐于2018-03-28 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

   JDidalog有一个setBound()方法可以更改对话框的大小,示例如下:

package com.han;  
  
import java.awt.*;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
  
import javax.swing.*;  
  
/** 
 * This program demonstrates the creation of a JDialog from a super-window. 
 * The created dialog is on the mode "Modal". 
 * @author han 
 * 
 */  
public class SwingJDialog {  
    public SwingJDialog(){  
        final JFrame jf=new JFrame("弹出窗体实验");  
        // Some methods defined by Toolkit query the native operating system directly.  
        Dimension screensize=Toolkit.getDefaultToolkit().getScreenSize();   
        int Swing1x=500;  
        int Swing1y=300;  
        jf.setBounds(screensize.width/2-Swing1x/2,screensize.height/2-Swing1y/2,Swing1x,Swing1y);  
        jf.setVisible(true);  
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        Container c=jf.getContentPane();  
        c.setBackground(Color.pink);  
        c.setLayout(null);  
  
        Dimension Swing1size=jf.getSize();  
        JButton jb=new JButton("弹出对话窗");  
        int jbx=100;  
        int jby=30;  
        jb.setBounds(Swing1size.width/2-jbx/2,Swing1size.height/2-jby/2,jbx,jby);  
        //jb.setBounds(Swing1x/2-jbx/2,Swing1y/2-jby/2,jbx,jby);  
        c.add(jb);  
  
        class Dialog1 {  
            JDialog jd=new JDialog(jf,"JDialog窗体",true);  
            Dialog1(){  
  
                jd.setSize(300,200);  
                Container c2=jd.getContentPane();  
                c2.setLayout(null);  
                JLabel jl=new JLabel("只是一个对话框");  
                jl.setBounds(0,-20,100,100);  
                JButton jbb=new JButton("确定");  
                jbb.setBounds(100,100,60,30);  
                c2.add(jl);  
                c2.add(jbb);  
                jbb.addActionListener(new ActionListener(){  
                    @Override  
                    public void actionPerformed(ActionEvent e) {  
                        jd.dispose();  
                        //System.exit(0);  
                    }  
  
                });  
                System.out.println("OK");  
  
                jd.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);  
  
            }  
        }  
  
        jb.addActionListener(new ActionListener(){  
            public void actionPerformed(ActionEvent e){  
                new Dialog1().jd.setVisible(true);//弹出对话框  
                System.out.println("OK2");  
            }  
        });  
        System.out.println("OK3");  
    }  
  
    public static void main(String[] args){  
        new SwingJDialog();  
    }  
}
百度网友2b7192e7b5
推荐于2016-06-25 · TA获得超过1917个赞
知道小有建树答主
回答量:496
采纳率:0%
帮助的人:354万
展开全部
肯定可以用setBounds的。
setBounds的后两个参数,就是长度和高,你设置得大点,肯定是可行的。一般窗体、对话框只用setBounds方法。
setLocation和setSize这两个方法的综合其实就是JDialog。由于对话框处于屏幕下,所以本身不存在布局管理,直接用setBounds方法。
四个参数分别是:对话框左上角起点横坐标,对话框左上角起点纵坐标,对话框的长度,对话框的高。
要不你setVisable(true);一下就可见了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咱倆絕配
2010-12-12 · TA获得超过794个赞
知道小有建树答主
回答量:575
采纳率:0%
帮助的人:411万
展开全部
setlocation和setsize试下行不行
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式