日期:2014-05-20 浏览次数:20805 次
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class GetIp extends JFrame { public GetIp() { super("获得IP地址"); JLabel jl1=new JLabel("请输入网址:"); // 固定在一行 JTextField jtf1=new JTextField(15); // 固定在一行 JButton jb1=new JButton("获得IP地址");// 固定在一行 JLabel jl2=new JLabel("本机IP地址:");JLabel jl4=new JLabel("");// 固定在一行 JLabel jl3=new JLabel("外网IP地址:");JLabel jl5=new JLabel("");// 固定在一行 JPanel panel1 =new JPanel(); panel1.add(jl1); panel1.add(jtf1); panel1.add(jb1); panel1.add(jl2); panel1.add(jl3); add(panel1); setBounds(100,100,220,200); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); new GetIp(); } }
import javax.swing.Box; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class GetIp extends JFrame { public GetIp() { super("获得IP地址"); Box box1 = Box.createVerticalBox(); JLabel jl1 = new JLabel("请输入网址:"); // 固定在一行 box1.add(jl1); JTextField jtf1 = new JTextField(15); // 固定在一行 box1.add(jtf1); JButton jb1 = new JButton("获得IP地址");// 固定在一行 box1.add(jb1); Box box2 = Box.createHorizontalBox(); JLabel jl2 = new JLabel("本机IP地址:"); box2.add(jl2); JLabel jl4 = new JLabel("4534534");// 固定在一行 box2.add(jl4); Box box3 = Box.createHorizontalBox(); JLabel jl3 = new JLabel("外网IP地址:"); JLabel jl5 = new JLabel("123545");// 固定在一行 box3.add(jl3); box3.add(jl5); box1.add(box2); box1.add(box3); JPanel panel1 = new JPanel(); // panel1.add(jl1); // panel1.add(jtf1); // panel1.add(jb1); panel1.add(box1); // panel1.add(jl2); // panel1.add(jl3); add(panel1); setBounds(100, 100, 220, 200); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { JFrame.setDefaultLookAndFeelDecorated(true); new GetIp(); } }
------解决方案--------------------
使用一个第三方布局管理器,如 DesignGridLayout。
import java.awt.*; import java.awt.event.*; import javax.swing.*; import net.java.dev.designgridlayout.DesignGridLayout; public class GetIp extends JPanel { public GetIp() { DesignGridLayout layout = new DesignGridLayout(this); layout.row().left().add(new JLabel("请输入网址:")); layout.row().left().add(new JTextField(15)); // 固定在一行 layout.row().center().add(new JButton("获得IP地址"));// 固定在一行 layout.row().grid(new JLabel("本机IP地址:")).add(new JLabel("")); layout.row().grid(new JLabel("外网IP地址:")).add(new JLabel("")); } public static void main(String[] args) { //JFrame.setDefaultLookAndFeelDecorated(true); EventQueue.invokeLater(new Runnable(){ @Override public void run(){ JFrame frame = new JFrame("获得IP地址"); frame.setContentPane(new GetIp()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } }); } }