swing界面为什么有时候,在eclipse中运行时,什么都没有 就是一片空白,但是你放大,缩小之后,又会出现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 swing没做过友情支持 首先确认xxx.setVisible(true);进行显示了没?然后看看是否布局没添加正确。还是粘代码吧! 这是不是跟eclipse或者操作系统有关系我用的win7.. eclipse只是个开发工具,运行起来的事情跟他没关系 你设置的大小可能不太合适!!你用 xxx.pack 试试 代码在下面。。跟QQ登陆框差不多的。。package uicode;import java.awt.*;import javax.swing.*;public class LandBox extends JFrame{ boxPanel bp; public LandBox() { super("山寨qq"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(350,250); setVisible(true); bp=new boxPanel(); getContentPane().add(new JLabel(new ImageIcon("logo.jpg")),BorderLayout.NORTH); getContentPane().add(bp,BorderLayout.CENTER);} public static void main(String[] args) { new LandBox(); } class boxPanel extends JPanel { boxPanel1 bp1; boxPanel2 bp2; boxPanel3 bp3; Color c; public boxPanel() { bp1=new boxPanel1(); bp2=new boxPanel2(); bp3=new boxPanel3(); c=new Color(235,255, 255); setLayout(new GridLayout(3,1)); bp1.setBackground(c); bp2.setBackground(c); bp3.setBackground(c); add(bp1); add(bp2); add(bp3); } } class boxPanel1 extends JPanel { JLabel L1; JLabel L2; JTextField text; public boxPanel1() { setLayout(new FlowLayout(FlowLayout.LEFT,16,8)); L1=new JLabel("帐号:"); L2=new JLabel("注册新帐号"); text=new JTextField(); text.setPreferredSize(new Dimension(180,25)); add(L1); add(text); add(L2); } } class boxPanel2 extends JPanel { JLabel L3; JLabel L4; JTextField text1; public boxPanel2() { L3=new JLabel("密码:"); L4=new JLabel("找回密码"); text1=new JTextField(); text1.setPreferredSize(new Dimension(180,25)); setLayout(new FlowLayout(FlowLayout.LEFT,16,0)); add(L3); add(text1); add(L4); } } class boxPanel3 extends JPanel { JButton button1; public boxPanel3() { button1=new JButton(new ImageIcon("login.jpg")); setLayout(new FlowLayout(FlowLayout.RIGHT,20,10)); button1.setPreferredSize(new Dimension(65,21)); add(button1); } }} 因为setVisible显示之后,因为没有刷新,后添加的那些控件就没有显示出来,而调整大小时会刷新界面,于是就显示了不调换顺序的话,你在最后加一句bp.updateUI();试试看 大数据的情况下如何高效的计算表达式的值 java初始化问题 异常处理问题` 在一个文件中如何定位位置,并追加或修改字符串? 关于getProperty 的使用问题,从来没有成功过。。。 SWING如何才能隐藏窗体的关闭按钮呢? 一个有关布局的很奇怪的问题 求助:Java Map 十万火急求助?liunux+tomcat+8080 jdk1.2 frame 的事件驱动函数action(Event evt,Object what)为什么不能重载? join是干什么用的? Java的一个小问题 有点困惑!!!
友情支持
然后看看是否布局没添加正确。
还是粘代码吧!
我用的win7..
package uicode;
import java.awt.*;import javax.swing.*;public class LandBox extends JFrame{
boxPanel bp;
public LandBox() {
super("山寨qq");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(350,250);
setVisible(true);
bp=new boxPanel();
getContentPane().add(new JLabel(new ImageIcon("logo.jpg")),BorderLayout.NORTH);
getContentPane().add(bp,BorderLayout.CENTER);
}
public static void main(String[] args)
{
new LandBox();
}
class boxPanel extends JPanel
{
boxPanel1 bp1;
boxPanel2 bp2;
boxPanel3 bp3;
Color c;
public boxPanel() {
bp1=new boxPanel1();
bp2=new boxPanel2();
bp3=new boxPanel3();
c=new Color(235,255, 255);
setLayout(new GridLayout(3,1));
bp1.setBackground(c);
bp2.setBackground(c);
bp3.setBackground(c);
add(bp1);
add(bp2);
add(bp3);
}
}
class boxPanel1 extends JPanel
{
JLabel L1;
JLabel L2; JTextField text;
public boxPanel1() {
setLayout(new FlowLayout(FlowLayout.LEFT,16,8));
L1=new JLabel("帐号:");
L2=new JLabel("注册新帐号");
text=new JTextField();
text.setPreferredSize(new Dimension(180,25));
add(L1);
add(text);
add(L2); }
}
class boxPanel2 extends JPanel
{
JLabel L3;
JLabel L4;
JTextField text1;
public boxPanel2() {
L3=new JLabel("密码:");
L4=new JLabel("找回密码");
text1=new JTextField();
text1.setPreferredSize(new Dimension(180,25));
setLayout(new FlowLayout(FlowLayout.LEFT,16,0));
add(L3);
add(text1);
add(L4);
}
}
class boxPanel3 extends JPanel
{
JButton button1;
public boxPanel3() {
button1=new JButton(new ImageIcon("login.jpg"));
setLayout(new FlowLayout(FlowLayout.RIGHT,20,10));
button1.setPreferredSize(new Dimension(65,21));
add(button1);
}
}
}