首先贴出我的代码:
public class Qlogin extends JFrame{
JLabel jl; //上部
//下部
JPanel jp1;
JButton jp1_jb1,jp1_jb2,jp1_jb3;
public static void main(String args[]){
Qlogin ql = new Qlogin();
}
public Qlogin(){
//上部组件
jl = new JLabel(new ImageIcon("image/1.jpg"));
this.add(jl,"North");
this.setSize(350,250);
//下部
jp1 = new JPanel();
jp1.setLayout(null);
// jp1.setBounds(0, 200, 350, 50);
// jp1.setSize(250,100);
// jp1.setPreferredSize(new Dimension(250,100));
// pack();
jp1_jb1 = new JButton("多账号");
jp1_jb2 = new JButton("设置");
jp1_jb3 = new JButton("登录");
jp1_jb1.setBounds(0,180,80,30);
jp1_jb2.setBounds(100,180,80,30);
jp1_jb3.setBounds(250,180,80,30);
// jp1_jb1.setSize(100,50);
// jp1_jb2.setSize(100,50);
// jp1_jb1.setPreferredSize(new Dimension(150,50));
jp1.add(jp1_jb1);
jp1.add(jp1_jb2);
jp1.add(jp1_jb3);
this.getContentPane().add(jp1,"South");
//显示图标。
setIconImage(Toolkit.getDefaultToolkit().getImage("image/head.png"));
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
this.setVisible(true);
}
}
我想模仿qq的登录界面,这个代码中间的部分还没写,但就遇到了几个问题。这个代码没有显示上面的3个button。
几个问题:
1.网上说要改变button的大小。要么用空布局,然后用setSize()或setBounds()改变大小;要么用setPreferredSize改变大小。但根据这个代码,我只要用空布局就不会显示button,用默认布局才会显示,但显示的button大小仍是布局管理器给定的那个大小,不是我设定的。
2.setIconImage(Toolkit.getDefaultToolkit().getImage("image/head.png"));这句显示图标不再是coffee了。但是显示出来的图片几乎看不清,太小了。有上面办法解决吗?
3.上部的图片显示占据了整个窗口,请问有没有设定图片的办法?还是用photoshop手动将图片改小?
一个这么短的代码就发现这么多问题。。。55~求高手指点。