一,导包
import javax.swing.JFrame;
二,继承
extends JFrame
三,了解 JFrame 常用组件
名称 说明
JButton 按钮(可以创建有图标的按钮)
JComboBox 组合框(和 Choice 相似)
JCheckBox 复选框
JFileChooser 文件选择器
JInternalFrame 内部窗体
JLabel 标签
JMenu 菜单
JMenuBar 菜单栏
JMenuItem 菜单选项
JPanel 面板
JPasswordField 密码框
JPopupMenu 弹出式菜单
JProgressBar 进程条
JRadioButton 单选按钮
JScrollBar 滚动条
JScrollPane 滚动窗口
JSlider 滑动条
JSplitPane 拆分窗口
JTable 表格
JTextArea 文本域
JTextPane 富文本组件
JToolBar 工具栏
JToolTip 工具提示
JTree 树分支
四,使用事例:
package text;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import sun.reflect.ReflectionFactory.GetReflectionFactoryAction;
public class text0 extends JFrame{
public static void main(String[] args) {
textui();
}
public static void textui(){
JFrame f = new JFrame("LoL");
f.setSize(400, 300);
f.setLocation(200, 200);
f.setLayout(null);
//文字
JLabel l = new JLabel("LOL文字");
l.setForeground(Color.red);
l.setBounds(0, 0, 280, 30);//文字位置
//图片
JLabel li = new JLabel();
ImageIcon i = new ImageIcon(UrlA()+"/logh.png");//显示图片
li.setIcon(i);//设置ImageIcon
li.setBounds(300, 150,100, 100);//label的大小设置为ImageIcon,否则显示不完整
//按钮
JButton b = new JButton("按钮");
b.setBounds(0, 80,100, 30);//按钮坐标,大小
b.setBackground(Color.gray);//按钮颜色
//复选款
JCheckBox bCheckBox = new JCheckBox("复选1");
bCheckBox.setSelected(true);//默认选中
bCheckBox.setBounds(0, 20, 130, 30);
JCheckBox bCheckBox2 = new JCheckBox("复选2");
bCheckBox2.setBounds(0, 50, 130, 30);
System.out.println(bCheckBox2.isSelected());//判断 是否 被 选中
//单选框
JRadioButton b1 = new JRadioButton("单选1");
b1.setSelected(true); // 设置 为 默认被选中
b1.setBounds(0, 120, 130, 30);
JRadioButton b2 = new JRadioButton("单选2");
b2.setBounds(0, 150, 130, 30);
System.out.println(b2.isSelected());
//输入框
JTextField tfName = new JTextField("");
tfName.setText("这是输入框");
tfName.setPreferredSize(new Dimension(80, 30));//大小
tfName.setBounds(0,180,80,30);
//密码框
JPasswordField pf = new JPasswordField("");
pf.setText("&48kdh4@#");
pf.setPreferredSize(new Dimension(80, 30));
// 与文本框不同,获取密码框里的内容,推荐使用getPassword,该方法会返回一个字符数组,而非字符串
char[] password = pf.getPassword();
String p = String.valueOf(password);
System.out.println(p);
pf.setBounds(0,220,80,30);
f.add(b1);//单选框
f.add(b2);
f.add(bCheckBox);//复选框
f.add(bCheckBox2);
f.add(b);//加入按钮
f.add(li);//加入图片
f.add(l);//加入文字
f.add(tfName);
f.add(pf);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
//获得当前目录
public static String UrlA(){
URL url=text.text0.class.getResource("");//获取当前class的绝对目录---需要处理一下
String urla=url+"logh.png";
String urlA[]=urla.split("/");
String c=urlA[1];
String d=null;
for(int i=2;i<urlA.length-1;i++){
d=c+"/"+urlA[i];
c=d;
}
return c;
}
}