setSize()和setPreferredSize(new Dimension())使用小结

//setSize()和setPreferredSize(new Dimension())使用小结


import javax.swing.JFrame;
import java.awt.Dimension;
public class Test2 extends JFrame
{
   public static void main(String[]args)
   {
      Test2 t = new Test2();
   }
   public Test2()  
   { 
     setTitle("窗口测试");
     //setSize(400,400);
     setPreferredSize(new Dimension(400,400));

     setDefaultCloseOperation(3);

     pack();

     setLocationRelativeTo(null);

     setVisible(true);
   }

}


import javax.swing.JFrame;
import java.awt.Dimension;
public class AppletTest extends JFrame
{
   public static void main(String[]args)
   {
  AppletTest t = new AppletTest();
   }
   public AppletTest()  
   { 
     setTitle("窗口测试");
     setSize(400,400);
     //setPreferredSize(new Dimension(400,400));
     setDefaultCloseOperation(3);
     //pack();
     setLocationRelativeTo(null);
     setVisible(true);
   }
}


两个程序的结果都是居中显示一个窗口。pack()方法是让容器适应内部控件的大小,即preferredsize最佳大小。例如,在窗口里显示一张照片,那么可以使窗口根据当前照片的大小来调整自己的大小。但是,当使用setSize (),那么pack()将失效。


  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JEditorPane; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JScrollPane; import javax.swing.JTextField; import javax.swing.JToolBar; import javax.swing.JWindow; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.event.HyperlinkEvent; import javax.swing.event.HyperlinkListener; public class WebBrowser extends JFrame implements HyperlinkListener,ActionListener{ JToolBar bar=new JToolBar(); JTextField jurl=new JTextField(60); JEditorPane jEditorPanel=new JEditorPane(); JScrollPane scrollPane=new JScrollPane(jEditorPanel); // JWindow window=new JWindow(WebBrowser.this); // Toolkit toolkit=Toolkit.getDefaultToolkit(); JLabel label=new JLabel("地址"); JButton button=new JButton("转向"); Box adress=Box.createHorizontalBox(); public WebBrowser(){ this.setSize(1000,800); setResizable(false); this.setDefaultCloseOperation(EXIT_ON_CLOSE); Container contentPane=getContentPane(); scrollPane.setPreferredSize(new Dimension(100,500)); contentPane.add(scrollPane,BorderLayout.CENTER); bar.add(label); bar.add(jurl); bar.add(button); contentPane.add(bar,BorderLayout.NORTH); button.addActionListener(this); jurl.addActionListener(this); } public static void main(String[] args) { try { UIManager.setLookAndFeel( UIManager.getCrossPlatformLookAndFeelClassName() ); } catch (Exception e) { } WebBrowser webBrowser=new WebBrowser(); webBrowser.pack(); webBrowser.setVisible(true); } @Override public void hyperlinkUpdate(HyperlinkEvent e) { // TODO Auto-generated method stub } @Override public void actionPerformed(ActionEvent e) { String url=""; if(e.getSource()==button){ url=jurl.getText(); if(url.length()>0&&url.startsWith("http://")){ try { jEditorPanel.setPage(url); jEditorPanel.setEditable(false); jEditorPanel.revalidate(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值