当我改变JFrame的大小的时候.怎样才能使它里面的组件大小不变啊?
解决方案 »
- 求高手解答这段程序打印出多少?
- 有没有能入门的Java语言的书籍,帮忙推荐一下吧~~~
- System.nanoTime()?
- 如何实现在jTextfield中从右侧输入,请各位高手指教,详细一点好吗?
- 如何将几个图像拼成一个图像?
- 一个比较菜的问题,连接MySql时出错“No suitable driver”
- 请问哪位大侠用过Eclipse,能不能介绍点这方面的文章,书和网站,谢了
- 用jbuilder开发数据库,请大家介绍一本好书!
- 从Delphi开始学习Java,如何学习Java.欢迎大家的光临!
- IO(TCP程序设计)编程的一些问题请教
- 字符串查找替换问题!
- JCheckBox如何分组啊?
import java.awt.event.*;
import javax.swing.*;
import java.applet.*;
public class p extends JApplet implements Runnable
{
int x,y;
Thread b=null;
public void init()
{
Container cp=getContentPane();
x=70;
y=0;
}
public void start()
{
b= new Thread(this);
b.start();
}
public void run()
{
int dm=10,dn=10;
while(true)
{
if(x<=0)
{
x=10;
dn=10;
}if(x>=240)
{
x=240;
dn=-10;
}
if(y<=0)
{
y=10;
dm=10;
}
if(y>=140)
{
y=140;
dm=-10;
}x+=dn;
y+=dm ;
repaint();
try{b.sleep(150);}
catch(InterruptedException e){}
}
}
public void paint(Graphics g)
{
g.setColor(Color.green);
g.fillRoundRect(0,0,250,250,10,10);
g.SetColor(Color.red);
g.fillOval(x,y,10,10);
g.drawString("小球自由反弹运动",70,170);
}
}
<applet code="p.class" width=300 height=240></applet>
面板是放组件窗口用borderLayout
面板里用flowLayout
1.先在new JPanel,设布局panel.setLayout(flowLayout1);
并设置JPanel.setPreferredSize(new Dimension(200, 70));
2.再设置new jButton,jButton.setPreferredSize(new Dimension(200, 50));
然后把jButton入到JPanel中,panel.add(jButton),
再把JPanel放到BorderLayout布局中的某个方向.
例子:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;public class rew extends JFrame { /**
* Launch the application
* @param args
*/
public static void main(String args[]) {
try {
rew frame = new rew();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
} /**
* Create the frame
*/
public rew() {
super();
getContentPane().setLayout(new BorderLayout());
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JButton button = new JButton();
button.setText("New JButton");
getContentPane().add(button, BorderLayout.WEST); final JButton button_1 = new JButton();
button_1.setText("New JButton");
getContentPane().add(button_1, BorderLayout.NORTH); final JPanel panel = new JPanel();
panel.setBackground(new Color(255, 0, 255));
panel.setPreferredSize(new Dimension(180, 50));
panel.setLayout(new FlowLayout());
getContentPane().add(panel, BorderLayout.EAST); final JButton button_2 = new JButton();
button_2.setText("New JButton");
panel.add(button_2); final JButton button_1_1 = new JButton();
button_1_1.setText("New JButton");
panel.add(button_1_1);
//
}}
BorderLayout, 这个简单.
null, 没有Layout, 就是XY定位了, 大家都明白吧.如果不是特殊的需求, 用这3中绝对满足.