java登录界面怎么把组件整齐排列

在做登陆界面的时候怎么把各个组件放的整齐一点,希望大神可以写一个例子给我,就用户名+文本框和密码+文本框再有两个确定取消的按钮就可以了... 在做登陆界面的时候怎么把各个组件放的整齐一点,希望大神可以写一个例子给我,就用户名+文本框和密码+文本框再有两个确定取消的按钮就可以了 展开
 我来答
该问答中所提及的号码未经验证,请注意甄别。
zboy4399xiang
2014-12-31 · TA获得超过455个赞
知道小有建树答主
回答量:288
采纳率:0%
帮助的人:129万
展开全部

java自带布局管理器,有网格,流布局,卡牌布局等,可以自定义布局。我感觉自定义布局自由点,可以随意的控制单个组件的位置而不用考虑会影响到整体。

这个是我用自定义布局弄的,你看看

import java.awt.event.*;

import java.awt.*;

import javax.swing.*;


public class Demo extends JFrame implements ActionListener{

private JTextField textField;

private JLabel result;

private int lotteryNumber=110;

public Demo(){

Container c=getContentPane();

c.setLayout(null);

JLabel label1=new JLabel("请输入100-200的号码进行抽奖");

JLabel label2=new JLabel("抽奖号码");

textField=new JTextField(lotteryNumber+"");

JButton btn=new JButton("抽奖");

result=new JLabel("");

label1.setBounds(100,20,300,30);

label2.setBounds(100,35,100,100);

textField.setBounds(170,70,200,30);

btn.setBounds(400,70,60,25);

result.setBounds(50,75,400,100);

c.add(label1);

c.add(label2);

c.add(textField);

c.add(btn);

c.add(result);

btn.addActionListener(this);

setBounds(400,200,500,200);

setVisible(true);

}

public void actionPerformed(ActionEvent e){

int temp=(int)Math.floor(Math.random()*100+100);

if(temp==lotteryNumber){

result.setText("恭喜您,您中奖了");

}else{

result.setText("非常遗憾,您没中奖。           你抽中的号码是:"+temp);

}

}

public static void main(String args[]){

Demo app=new Demo();

app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

匿名用户
2014-12-28
展开全部
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.GridLayout;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.FlowLayout;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import java.awt.Toolkit;
import java.awt.Dimension;

public class LogicFrame extends JFrame {

private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JPanel jPanel = null;
private JPanel jPanel1 = null;
private JPanel jPanel2 = null;
private JLabel jLabel = null;
private JTextField jTextField = null;
private JLabel jLabel1 = null;
private JPasswordField jPasswordField = null;
private JButton jButton = null;
private JButton jButton1 = null;
/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel() {
if (jPanel == null) {
jLabel = new JLabel();
jLabel.setText("用户账户:");
jPanel = new JPanel();
jPanel.setLayout(new FlowLayout());
jPanel.add(jLabel, null);
jPanel.add(getJTextField(), null);
}
return jPanel;
}

/**
* This method initializes jPanel1
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel1() {
if (jPanel1 == null) {
jLabel1 = new JLabel();
jLabel1.setText("用户密码:");
jPanel1 = new JPanel();
jPanel1.setLayout(new FlowLayout());
jPanel1.add(jLabel1, null);
jPanel1.add(getJPasswordField(), null);
}
return jPanel1;
}

/**
* This method initializes jPanel2
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel2() {
if (jPanel2 == null) {
jPanel2 = new JPanel();
jPanel2.setLayout(new FlowLayout());
jPanel2.add(getJButton(), null);
jPanel2.add(getJButton1(), null);
}
return jPanel2;
}

/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setColumns(15);
}
return jTextField;
}

/**
* This method initializes jPasswordField
*
* @return javax.swing.JPasswordField
*/
private JPasswordField getJPasswordField() {
if (jPasswordField == null) {
jPasswordField = new JPasswordField();
jPasswordField.setColumns(15);
}
return jPasswordField;
}

/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setText("登录");
}
return jButton;
}

/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setText("退出");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
int value= JOptionPane.showConfirmDialog(LogicFrame.this, "真的要退出吗?","退出",JOptionPane.YES_NO_OPTION );
if (value == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
});
}
return jButton1;
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
LogicFrame thisClass = new LogicFrame();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}

/**
* This is the default constructor
*/
public LogicFrame() {
super();
initialize();
}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(301, 165);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension d = tk.getScreenSize();
int x = (int)(d.getWidth()-301)/2;
int y = (int)(d.getHeight()-165)/2;
this.setLocation(x, y);
this.setIconImage(tk.getImage("D:/639460487/Image/Image1/%P@513%HY]~AE}QF2]H3J66.jpg"));
this.setContentPane(getJContentPane());
this.setTitle("登录");
this.setVisible(true);
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
GridLayout gridLayout = new GridLayout();
gridLayout.setRows(3);
gridLayout.setVgap(5);
jContentPane = new JPanel();
jContentPane.setLayout(gridLayout);
jContentPane.add(getJPanel(), null);
jContentPane.add(getJPanel1(), null);
jContentPane.add(getJPanel2(), null);
}
return jContentPane;
}

}
更多追问追答
追问
这位大神,是不是直接复制了别人的。。我希望有一个简单的就行了,这个有点复杂呀
追答
搞个EV插件,很快就搞定了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式