1.容器:Frame
2.组件:Button
3.颜色:Colour
4.字体:Font
1.容器: JFrame。
2.组件:JButton。
1.JWindows:只有框。
2.JFrame:有最大,最小化和关闭等。是一种常用的。
3.JOptionPan:弹出框
4.JApplet:已基本被淘汰了。
public class MyFrame extends JFrame{
private Container contentP;//内容面板
private JLabel nameLab;//用户名标签
private JLabel imageLab;//图片标签
private JTextField nameText;//文本框
private JPasswordField pwdTxt;//密码框
private JComboBox genderCom;//下拉框
private JButton okBtn;//按钮
private JRadioButton maleRad;//单选框
private JRadioButton femaleRad;
private JTextArea contentArea;//文本域
private JScrollPane scrollP;//滚动条面板--配合文本域
其中增加了MyFrame的带参构造。
public MyFrame()
{
首先使用了一个工具类:toolkit
可以获取屏幕信息,还可以操作图标图片。
1.工具类:Toolkit tk = Toolkit.getDefaultToolkit();
2.设置标题:this.setTitle("标题名字");
3.设置图片:this.setIconImage(tk.createImage("文件夹名"+\(File.separator)+"文件名字.格式"));
4.设置窗体大小:this.setSize(x,y)先水平后垂直。
5.设置位置:this.setLocation((int)(tk.getScreenSize().getWidth()-500)/2,
(int)(tk.getScreenSize().getHeight()-300)/2);
6.设置窗体大小不可变:this.setResizable(false);
7.设置关闭:this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
8.放置内容样本:this.addContentP();
9.设置可见:this.setVisible(true);注意一定要在最后!!!
}
}
专门用来操作内容面板上的内容
}
private Container contentP;
1.获取内容面板:this.ContentP=this.getContentPane();
2.设置颜色:this.ContentP.setBackgroud(Colour.WHITE);或者new Colour(1,1,1);三原色
3.设置内容布置的管理器为-null,使用绝对的定位来放置组件。this.ContentP.setLayout(null);
1.产生对象:this.nameLab=new JLabel();
2.设置文本:this.nameLab.setText("名字");
3.设置字体:this.nameLab.setFont(new setFont("字体格式",Font.ITALIC,多少号));
4.设置前景色:this.nameLab.Foreground(Colour.BLACK);
5.设置边框:this.nameLab.setBorder(边境)(BorderFactory.createLineBorder
(Colour.BLACK));用于调试
6.设置位置和大小:this.nameLab.setBounds(x,y,w,h);
7.放入容器中:this.ContentP.add(this.nameLab);
//放置图像标签
this.imageLab = new JLabel();//产生对象
this.imageLab.setIcon(new ImageIcon("pic/eye.JPG"));//放置图片
this.imageLab.setBounds(165, 50, 298, 50);
this.contentP.add(this.imageLab);
//文本框
this.nameTxt = new JTextField();
this.nameTxt.setFont(new Font("宋体",Font.BOLD,22));
this.nameTxt.setForeground(Color.BLUE);
this.nameTxt.setBounds(30, 105, 120, 30);
this.contentP.add(this.nameTxt);
//密码框
this.pwdTxt = new JPasswordField();
this.pwdTxt.setFont(new Font("宋体",Font.BOLD,22));
this.pwdTxt.setForeground(Color.BLUE);
this.pwdTxt.setEchoChar('*');//设置密码框的回显字符
this.pwdTxt.setBounds(160, 105, 120, 30);
this.contentP.add(this.pwdTxt);
//下拉框
this.genderCom = new JComboBox(new Object[]{"男","女"});
this.genderCom.addItem("太监");//添加选项
this.genderCom.setSelectedIndex(2);//指定默认被选中项
this.genderCom.setEditable(true);//设置是否可被编辑
this.genderCom.setBounds(300, 105, 120, 30);
this.contentP.add(this.genderCom);
//按钮
this.okBtn = new JButton();
this.okBtn.setText("确定");
this.okBtn.setIcon(new ImageIcon("pic/hp.JPG"));//设置默认图标
this.okBtn.setRolloverIcon(new ImageIcon("pic/xiaoxin.GIF")); //设置鼠标移动进
去的图标
this.okBtn.setBounds(30, 140, 100, 30);
this.contentP.add(this.okBtn);
//单选框
this.maleRad = new JRadioButton();
this.maleRad.setText("男");
this.femaleRad = new JRadioButton();
this.femaleRad.setText("女");
this.femaleRad.setSelected(true);//设置被选中为真
this.maleRad.setBounds(140, 140, 50, 20);
this.femaleRad.setBounds(200, 140, 50, 20);
this.contentP.add(this.maleRad);
this.contentP.add(this.femaleRad);
//按钮组--是一个逻辑概念,将放入其中的按钮在逻辑上进行分组
ButtonGroup bg = new ButtonGroup();
bg.add(this.maleRad);
bg.add(this.femaleRad);
//文本域
this.contentArea = new JTextArea();
this.scrollP = new JScrollPane(contentArea);
this.scrollP.setBounds(30, 180, 440, 180);
this.contentP.add(this.scrollP);