出来的效果不好,我要的是,一行一个组件,最后2行,是每行2个JLabel
纠结一天了只要出界面,不要求事件处理,帮帮忙改改代码啊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 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();
}}
解决方案 »
- java打包问题
- 类中的实例变量需要初始化吗?
- 上机考试能考些什么?各位说说
- 想用java做一个bbs登陆的工具,到时一键上各大BBS.请大家给点思路,指引!
- 将final数值声明为static和声明为non-static有什么不同呢?
- 急!急!急 再线等待 有谁有现成的软件公司章程
- 请问哪位大虾有用java实现imap协议(mailserver端)的例子?可否给我参考,谢谢!
- 谁能告诉我SOFT 和WEAK REFERENCE 的回收机制,有例子最好!
- 半夜苦读!!明早起床!!请各位师傅鼓励我一下吧!!
- 哪有java的基础教材(电子版的)
- java 对象赋值怎么不改变原来的对象的引用
- 新手百思不其解...
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();
}}
或者直接使用null布局,调用setBounts(x,y,w,h);
想怎么排就怎么排
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);
}
});
}
}