
正文
java窗体布局代码 java窗体应用程序
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在java里要怎样布局,求布局的源代码?
class MainFrame extends JFrame{
MainFrame(){
super("布局");
setSize(600,600);
setLocationRelativeTo(null);
seDefaultCloseOperation(3);
JLabel info=new JLabel("个人资料");
JPanel w=new JPanel();
JPanel c=new JPanel();
add(info,BorderLayout.NORTH);
add(w,BorderLayout.WEST);
add(c,BorderLayout.CENTER);
w.setLayout(new GridLayout(7,1,10,10));
//c也一样处理
JLabel a[7];
JTextField t[7];
for(int i=0;i7;i ){
a[i]=new JLabel();
t[i]= new JTextField();
w.add(a[i]);
c.add(t[i]);
}
a[0].setText("姓名:");
//剩下的自己加上去就行
}
//省略主方法
}
相关问答
Q1: java窗体飞机大战两张背景图片滚动循环如何实现,代码
package Task1;
//首先要调用需要的包
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class myFrame extends Frame //窗体类java窗体布局代码,继承Frame
{
CardLayout cl=new CardLayout(); //定义卡片布局
public void initial() //创建一个窗体
{
this.setBounds(500, 300, 300, 200); //窗体的大小和坐标
this.setTitle("图片自动浏览"); //窗体主题
this.setLayout(cl); //窗体采用的布局方式,上面已经定义java窗体布局代码了卡片布局,所以这里直接调用即可
this.setVisible(true); //显示窗体
JButton[] jbtn=new JButton[4]; //创建添加图片的数组,有几张图,数据成员就有几个
for(int i=0;i4;i++) //我这里是用循环来添加图片,所以上面要创建数组,当然分开一个一个的添加图片也是可以的
{
jbtn[i]=new JButton();
jbtn[i].setIcon(new ImageIcon("c://"+i+".jpg")); //这是所要添加图片的地址
this.add(jbtn[i],i+""); //显示
}
while(true) //关键的时候到了,如何让图片滚动循环,我这里是用了while循环来写的
{
cl.next(this); //图片的切换,下一张
try{Thread.sleep(3000);} //切换的间隔时间为3秒,也就是3000毫秒
catch(Exception e){}
}
}
public myFrame() //这是固定方法,窗体程序必须写,少了它整个程序完蛋,所以不多做解释
{
initial();
}
}
public class Test { //Test类,我这里是专门写主函数的
public static void main(String[] args) //主函数main
{
myFrame mf=new myFrame(); //实例化调用窗体类myFrame
}
}
ok,完成。程序复制过去以后可能会报错,并不是我写错了,我的有些包名或者类名还有大括号可能与你的不符合,你需要把细节方面的东西再做调试一下,然后在运行。
望采纳😘谢谢!
Q2: java调。如下图。 程序显示一个窗体,把窗体布局改为东、西长条的,怎么改
添加win的窗体布局管理器,win.getContentPane().setLayout(new FlowLayout());
win.add(bEast);
win.add(bWe);
win.add(bNorth);
win.add(bSouth);
win.add(bCenter);
Q3: 紧急!!!用java做一个小游戏有窗口的。。
/*
将以下代码保存为MainFrame.java JDK1.6编译通过
保存我没有做java窗体布局代码,也不难。方法我已经空下java窗体布局代码了java窗体布局代码,你可以自己写写试试.
把txtGuessRecord.getText()java窗体布局代码的内容写到文件里就行java窗体布局代码了
*/
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.text.DefaultFormatter;
public class MainFrame extends JFrame implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* @param args
*/
private JLabel lblResult;
private JLabel lblInfo;
private JFormattedTextField txtInput;
private JTextArea txtGuessRecord;
private JButton btnGuess;
private JButton btnRestart;
private JButton btnClear;
private JButton btnSave;
private JComboBox cbType;
// 是否正确
private boolean isRight = false;
// 最大次数
private static final int MAX_TIME = 5;
// 当前猜测的次数
private static final int NUM = 0;
private static final int LETTER = 1;
private static int current_time = 0;
// 当前题目
private char current_puzzle = ' ';
// 用户回答
private char player_answer = ' ';
public MainFrame() {
initComponent();
setPreferredSize(new Dimension(450, 220));
pack();
setVisible(true);
setTitle("猜谜游戏");
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
try {
UIManager
.setLookAndFeel(new com.sun.java.swing.plaf.windows.WindowsLookAndFeel());
SwingUtilities.updateComponentTreeUI(MainFrame.this);
} catch (Exception ex) {
}
}
// 初始化组件
private void initComponent() {
lblResult = new JLabel();
lblInfo = new JLabel("准备好了吗?", JLabel.LEFT);
txtGuessRecord = new JTextArea(5, 30);
btnGuess = new JButton("猜一下");
btnRestart = new JButton("开始");
btnClear = new JButton("清除");
btnSave = new JButton("保存");
String[] item = new String[] { "数字", "字母" };
cbType = new JComboBox(item);
cbType.setMaximumSize(new Dimension(70, 20));
String ps = "[a-zA-Z\\d]";
Pattern p = Pattern.compile(ps);
txtInput = new JFormattedTextField(new RegexFormatter(p));
txtInput.setMaximumSize(new Dimension(55, 20));
txtInput.setMinimumSize(new Dimension(55, 20));
btnRestart.addActionListener(this);
btnGuess.addActionListener(this);
btnClear.addActionListener(this);
btnGuess.setEnabled(false);
txtGuessRecord.setEditable(false);
setLayout(new BoxLayout(getContentPane(), BoxLayout.PAGE_AXIS));
Box mainBox = Box.createVerticalBox();
add(mainBox);
setText('?');
mainBox.add(lblResult);
Box box = Box.createHorizontalBox();
box.add(lblInfo);
mainBox.add(box);
Box b = Box.createHorizontalBox();
b.add(txtInput);
Box hBox = Box.createHorizontalBox();
hBox.add(b);
hBox.add(btnGuess);
hBox.add(Box.createHorizontalStrut(3));
hBox.add(btnRestart);
hBox.add(Box.createHorizontalStrut(3));
hBox.add(btnClear);
hBox.add(Box.createHorizontalStrut(3));
hBox.add(btnSave);
hBox.add(Box.createHorizontalStrut(3));
hBox.add(cbType);
mainBox.add(hBox);
JScrollPane scroll = new JScrollPane(txtGuessRecord);
mainBox.add(scroll);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnRestart) {
// 重玩
restart();
} else if (e.getSource() == btnGuess)
// 猜
guess();
else if (e.getSource() == btnClear)
// 清除
clear();
else if (e.getSource() == btnSave)
save();
}
// 设置显示答案
private void setText(char c) {
StringBuilder sb = new StringBuilder();
sb.append("htmlfont size = 72 color = redcenter");
sb.append(c);
sb.append("/center/font/html");
lblResult.setText(sb.toString());
}
// 创建随机字符
private char createRandomChar(int type) {
Random rand = new Random();
int low = 0;
int range = 0;
switch (type) {
case NUM:
low = (int) '0';
range = (int) '9' - low + 1;
break;
case LETTER:
low = (int) 'A';
range = (int) 'Z' - low + 1;
break;
}
int i = rand.nextInt(range) + low;
char c = (char) i;
return c;
}
// 向记录框中输出时间
private void recordTime() {
Date date = new Date();
SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",
Locale.US);
String sd = formater.format(date);
txtGuessRecord.append(sd);
}
private void guess() {
if (txtInput.getValue() == null)
return;
// 用户的答案
player_answer = Character.toUpperCase(txtInput.getValue().toString()
.charAt(0));
// 判断答案
if (player_answer current_puzzle)
txtGuessRecord.append("小了\n");
else if (player_answer current_puzzle)
txtGuessRecord.append("大了\n");
else {
txtGuessRecord.append("正确\n");
isRight = true;
}
// 猜了一次
++current_time;
// 显示游戏信息
showInfo();
if (isRight || current_time = MAX_TIME)
stop();
}
// 重新开始
private void restart() {
// 记录时间
recordTime();
txtGuessRecord.append(" 游戏开始\n");
// 状态清零
current_time = 0;
btnGuess.setEnabled(true);
isRight = false;
current_puzzle = createRandomChar(cbType.getSelectedIndex());
setText('?');
showInfo();
}
// 停止游戏
private void stop() {
btnGuess.setEnabled(false);
setText(current_puzzle);
// 正确的情况
if (isRight) {
String info = String.format("你用了%d次猜对了\n", current_time);
txtGuessRecord.append(info);
} else
// 超过次数的情况
txtGuessRecord.append("你输了\n");
recordTime();
txtGuessRecord.append(" 游戏结束\n");
}
// 显示游戏信息
private void showInfo() {
String info = String.format("已经猜了%d次, 还剩 %d次 ", current_time,
MAX_TIME - current_time);
lblInfo.setText(info);
}
// 清空记录框
private void clear() {
txtGuessRecord.setText("");
}
private void save() {
// 尚未实现
}
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new MainFrame();
}
});
}
// 正则格式类, 文本框匹配用
class RegexFormatter extends DefaultFormatter {
/**
*
*/
private static final long serialVersionUID = 1L;
private Pattern pattern;
private Matcher matcher;
public RegexFormatter() {
super();
}
public RegexFormatter(String pattern) throws PatternSyntaxException {
this();
setPattern(Pattern.compile(pattern));
}
public RegexFormatter(Pattern pattern) {
this();
setPattern(pattern);
}
public void setPattern(Pattern pattern) {
this.pattern = pattern;
}
public Pattern getPattern() {
return pattern;
}
protected void setMatcher(Matcher matcher) {
this.matcher = matcher;
}
protected Matcher getMatcher() {
return matcher;
}
public Object stringToValue(String text) throws ParseException {
Pattern pattern = getPattern();
if (pattern != null) {
Matcher matcher = pattern.matcher(text);
if (matcher.matches()) {
setMatcher(matcher);
return super.stringToValue(text);
}
throw new ParseException("Pattern did not match", 0);
}
return text;
}
}
}
关于java窗体布局代码和java窗体应用程序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








