import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class hello
{
public static void main(String args[])
{
new win();
}
}
class win extends JFrame
{JPanel pp=new JPanel();
JTextField tt1=new JTextField(5);
JTextField tt2=new JTextField(5);
JButton bb1=new JButton("计算");
JButton bb2=new JButton("复原");
JLabel cc1=new JLabel("+");
JLabel cc2=new JLabel("答案=");
public win()
{
super();
bb1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int x=Integer.parseInt(tt1.getText());
int y=Integer.parseInt(tt2.getText());
int z=x+y;
cc2.setText("答案="+z);
}
});
bb2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
tt1.setText("0");
tt2.setText("0");
cc2.setText("答案=");
}
});
setTitle("UI测试");
setSize(200,20);
pp.setSize(200,20);
add(pp);
pp.setLayout(new BorderLayout());
pp.add(tt1);
pp.add(cc1);
pp.add(tt2);
pp.add(bb1);
pp.add(bb2);
pp.add(cc2);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
}
好久不接触JAVA,想温习下,但是现在除了用pack方法,运行是不显示窗体内容,只显示一个功能条,希望各位高手指教下:
应该按怎样的顺序自定义窗体的大小
import java.awt.event.*;
import javax.swing.*;
public class hello
{
public static void main(String args[])
{
new win();
}
}
class win extends JFrame
{JPanel pp=new JPanel();
JTextField tt1=new JTextField(5);
JTextField tt2=new JTextField(5);
JButton bb1=new JButton("计算");
JButton bb2=new JButton("复原");
JLabel cc1=new JLabel("+");
JLabel cc2=new JLabel("答案=");
public win()
{
super();
bb1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int x=Integer.parseInt(tt1.getText());
int y=Integer.parseInt(tt2.getText());
int z=x+y;
cc2.setText("答案="+z);
}
});
bb2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
tt1.setText("0");
tt2.setText("0");
cc2.setText("答案=");
}
});
setTitle("UI测试");
setSize(200,20);
pp.setSize(200,20);
add(pp);
pp.setLayout(new BorderLayout());
pp.add(tt1);
pp.add(cc1);
pp.add(tt2);
pp.add(bb1);
pp.add(bb2);
pp.add(cc2);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
}
好久不接触JAVA,想温习下,但是现在除了用pack方法,运行是不显示窗体内容,只显示一个功能条,希望各位高手指教下:
应该按怎样的顺序自定义窗体的大小
解决方案 »
- Java中 null是一个对象还是一个值?
- 如何切换cvs服务器
- 关于熟悉myEclipse的功能?
- eclipse中通过ant task 去调用java类
- *.java 使用了未经检查或不安全的操作是什么意思?
- 软件如何在服务器上自动启动
- 急啊!我写了一个简单的聊天程序,就是不出结果~大家帮我看看
- 个人认为有一定难度的java开发问题,急待解决。
- *****在Tomcat4.1.12下用jndi连接Sql Server 2000,出现问题。请帮忙!!*********
- 求高手点拨一位Java粉丝的技术故障的修改方法。
- pl sql 连接oracle问题?
- Failed to load Main-Class manifest attribute from
还有,最近发现这里帖的好多代码都有一个共同的特点:单独写一个class里面就放一个public static void main(String args[])
不知道这种做法是哪本书上介绍的或者是哪个高手发明的,本人在这里严重BS之,main方法干嘛非要写在个单独的class里????
老兄,这个不只是布局管理器简单,这个查下API文档就可以,我开始用流布局,加pack方法是正常,但是去掉pack方法,自定义窗体大小,无论换什么布局都没有效果,这里只不过换到其中一个而已.至于main方法,个人习惯问题,何必苛求,况且main是静态方法,类里很多非静态属性不能用,还不如单独放在一个类里容易管理.
public void pack()Causes this Window to be sized to fit the preferred size and layouts of its subcomponents. If the window and/or its owner are not yet displayable, both are made displayable before calculating the preferred size. The Window will be validated after the preferredSize is calculated. See Also:
Component.isDisplayable()
你看看吧
代码如下
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class hello {
public static void main(String args[]) {
new win();
}
}class win extends JFrame {
JPanel pp = new JPanel();
JTextField tt1 = new JTextField(5);
JTextField tt2 = new JTextField(5);
JButton bb1 = new JButton("计算");
JButton bb2 = new JButton("复原");
JLabel cc1 = new JLabel("+");
JLabel cc2 = new JLabel("答案="); public win() {
bb1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int x = Integer.parseInt(tt1.getText());
int y = Integer.parseInt(tt2.getText());
int z = x + y;
cc2.setText("答案=" + z);
}
}); bb2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tt1.setText("0");
tt2.setText("0");
cc2.setText("答案=");
}
});
setTitle("UI测试");
setSize(200, 20);
pp.setSize(200, 20);
pp.add(tt1);
pp.add(cc1);
pp.add(tt2);
pp.add(bb1);
pp.add(bb2);
pp.add(cc2);
setDefaultCloseOperation(EXIT_ON_CLOSE);
add(pp);
this.pack();
setVisible(true);
}
}
布局管理器什么的,这个不存在疑问,即使有也可以查API文档
至于pack(),相信大家都知道其作用是把窗口大小调整到能显示所有组件.
我的意思,怎么不使用pack方法,自定义窗口的大小.
从代码里也可以看到我是设了窗口大小的,但实际运行时只能看蓝条,下面的窗体看不到.5.0以前的版本是需要getContentPane这个方法来获得容器,然后再调整大小.而我现在使用的6.0版,使用JFrame的add方法时其实已经默认为JFrame添加容器了,但是就是找不到原因为什么会无法调整大小.
pp.setLayout(new BorderLayout());
pp.add(tt1);
pp.add(cc1);
pp.add(tt2);
pp.add(bb1);
pp.add(bb2);
pp.add(cc2);你如果要用BorderLayout(),后面的add()该是这样pp.add(tt1, BorderLayout.SOUTH);之类的,
也许你要用的是FlowLayout()。再来你提到的问题,你的setSize(),给的值是分别是(200, 20),
height = 20,20的height,光视窗条就占掉了height,
改成setSize(200, 100);之后,自然就会显示出你要的视窗。