-
关于Swing中Box跟JPanel以及setSize的疑问5
最近我在学习中发现了一些问题,就是下面的程序,有两个问题:
1.JTextField与JPasswordField的setSize方法是用来设置大小的么?为什么我在使用的时候却没有任何效果呢?
2.为什么要把Box加入JPanel,然后再加入JFrame,才能得到我要的效果呢?而当我直接把Box加入JFrame时,界面却变得很奇怪,特别是JTextField跟JPasswordField会膨胀开来?
程序如下:
package test.swing; import java.awt.event.*; import javax.swing.*; public class LoginTest extends JFrame implements ActionListener { private JPanel jp=new JPanel(); private JPanel jp1=new JPanel(); private JPanel jp2=new JPanel(); private JPanel jp3=new JPanel(); JLabel name=new JLabel("请输入用户名"); JLabel password=new JLabel("请输入密码"); JLabel show=new JLabel(); JButton login=new JButton("登陆"); JButton reset=new JButton("重置"); JTextField jtf_name=new JTextField("",10); JPasswordField jpf_password=new JPasswordField("",10); private Box horibox1=Box.createHorizontalBox(); private Box horibox2=Box.createHorizontalBox(); private Box horibox3=Box.createHorizontalBox(); private Box verbox=Box.createVerticalBox(); public LoginTest(){ name.setSize(10, 10); password.setSize(10, 10); //jt_name.setSize(200, 1000); //setSize为什么不起作用呢? //jpf_password.setSize(200,1000); //setSize为什么不起作用呢? jpf_password.setEchoChar('*'); horibox1.add(name); horibox1.add(Box.createHorizontalStrut(20)); horibox1.add(jtf_name); horibox2.add(password); horibox2.add(Box.createHorizontalStrut(20)); horibox2.add(jpf_password); horibox3.add(login); horibox3.add(Box.createHorizontalStrut(40)); horibox3.add(reset); jp1.add(horibox1); jp2.add(horibox2); jp3.add(horibox3); verbox.add(jp1); verbox.add(jp2); verbox.add(jp3); // verbox.add(horibox1); //把上面六行换成这三行,为什么效果会变得很奇怪呢? // verbox.add(horibox2); //JPanel跟Box之间有什么样的区别? // verbox.add(horibox3); verbox.add(show); login.addActionListener(this); reset.addActionListener(this); this.add(verbox); this.setTitle("登陆窗口"); this.setVisible(true); this.setBounds(200, 200, 300, 300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String []args){ new LoginTest(); } @Override public void actionPerformed(ActionEvent e) { if(e.getSource()==login){ jtf_name.setText("login"); jpf_password.setText("login"); }else if(e.getSource()==reset){ jtf_name.setText("reset"); jpf_password.setText("reset"); } } }
2009年5月24日 10:42
相关推荐
java Swing多Jpanel仿安卓苹果桌面动态切换滑动效果
swing多个布局切换实例,就是一个小demo
NULL 博文链接:https://javapub.iteye.com/blog/764681
java Swing多Jpanel仿安卓苹果桌面动态切换滑动效果
此面板继承自JPanel,放置其上的组件能够根据面板大小的变化,重新计算新的组件位置,从而实现自适应布局,详细使用方法请见源码注释
对于初学者来说,这还是不错的资源,这个源程序实现在面板中加载一些图片,还是不错的啊!!!
JPanel是Swing库中的一个容器组件,用于在图形用户界面(GUI)中容纳和管理其他组件。
JPanel 渐进色背景,和图片背景(可叠加)的实现代码,以及使用样例。 jar文件中包含源代码,本身可执行以便于看效果。
使用纯java swing 编写的日期时间选择控件,免去了以前的手动输入造成的输入错误,输入丢失的不必要的错误
非常适合加强java基础的人来练手 完整的画图板项目,模仿win10自带画图板写的 很有学习价值
基于Java 的画图程序,解压后直接打开工程,可以画出直线,园,线,点。需要其它图形可以自己设计,需要继承shape类;IDE环境为JCreator 4.5和JDK 1.5;
主要介绍了Java Swing JPanel面板的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java swing jpanel 布局
Java绘图和JPanel容器
Java GUI 编程中,无法像C#一样向一个Panel中插入背景图片,这里在网上搜索了一个可以插入背景的Jpanel。 跟大家共享一下,也许你已经下载过,但主要还是方便那些还没有找到的人。
介绍Swing中JPanel的布局管理器
在Swing中,我们有三种可以使用的顶层容器,它们分别是: ·JFrame:用来设计类似于Windows系统中的窗口形式的应用程序。 ·JDialog:和JFrame类似,只不过JDialog是用来设计对话框。 ·JApplet:用来设计可以在嵌入在...
'javax.swing.JPanel', 'javax.swing.JButton' A JCONTROL object aggregates the MATLAB handle graphics container and the Java component (as returned by MATLAB's JAVACOMPONENT function) into a single ...
账户名密码都是1,写代码时com.zjyt.run是主main出口类,在com.zjyt.ui里写各个程序员的...即可以,运行起来后,双击树形结构的节点,右边的tab控件就显示相应的JPanel 模块,双击JTabledPanel的头,就可以关闭当前的页面.
java使用swing技术实现迷宫制造,包括追赶着,移动着以及倒计时,无墙模式设置等等。可设置追赶者数目、追赶者时间等,以及拆墙次数