❶ 在java中怎么样设置JPanel里面的背景图片
java要加背景图比较麻烦,需要重载paintComponent方法,下面以JPanel为例,其它按此继承就可
JPanel jContentPane = new getpane(800,600,"images\\0044.jpg");
jContentPane.setLayout(null);
jContentPane.setOpaque(false);//此处要设为false
jContentPane.setAlignmentY(0.5F);
jContentPane.add(jLabel, null);
jContentPane.add(getJTestYear(), null);
this.initComboBox();
jContentPane.add(getJSearchByName(), null);
jContentPane.add(getJSearchByID(), null);
jContentPane.add(getJIDOrName(), null);
jContentPane.add(jLabel1, null);
jContentPane.add(getJPanel(), null);
this.setContentPane(jContentPane);
class getpane extends JPanel{
private static final long serialVersionUID = 1L;
int width=0,hight=0;
String imgpath = "";
public getpane(int width,int hight,String file){
this.width = width;
this.hight = hight;
imgpath = file;
}
protected void paintComponent(Graphics g) {
ImageIcon icon = new ImageIcon(imgpath);
Image img = icon.getImage();
g.drawImage(img, 0, 0, width, hight, this);
}
}
❷ java里的JTextField文本框怎么设置大小
文本框.setBounds(10,10,30,170) 设置位置。
文本框的宽是改不了的,只有长度才能改变,JTextField jtf = new JTextField(length);
length大了,文本框就长了。
想要长宽可变的文本框可用:JTextArea jta = new JTextArea(长,宽);
JTextArea jta = new JTextArea(长,宽); 也是用jta.setText(); 来显示的;
与JTextField用法几乎一样;具体用法可查API。
代码如下:
1.//核心代码第一部分,设置文本框,密码框长宽;
2.wbk=newJTextField(8);//在这个窗口大小里,设置长度为8,比较合适;
3.mmk=newJPasswordField(8);//密码框也设置长度为8;
4.//核心代码第二部分,把文本框,密码框等加入到JPanel里;
5.JPaneljpwbk=newJPanel();//1放文本框的JPanel面板;
6.jpwbk.add(wbk);//把文本框放入;
7.p[0].add(jpwbk);//把JPanl放入网格布局里; 8.JPaneljpbutton0=newJPanel();//2放按钮的JPanel面板(按钮也小点好看点); 9.jpbutton0.add(button[0]);
10.jp[0].add(jpbutton0);
11.jp[0].add(biaoqian[2]);
12.JPaneljpmmk=newJPanel();//3放密码框的JPanel面板
13.jpmmk.add(mmk);
14.jp[0].add(jpmmk);