拆分窗格 JSplitPane和多行文本框组件JTextArea
JSplitPane属于容器类组件。
package chen.com;
import java.awt.*;
import javax.swing.*;
public class MyClass extends JFrame {
JSplitPane jsp;
JList jList;
JLabel jl1;
JTextArea jt;
JScrollPane jscroll;
public static void main(String[] args) {
MyClass myclass = new MyClass();
}
public MyClass(){
//创建组件
String []words = {"boy","girl","hello"};
jList = new JList(words);
jl1 = new JLabel(new ImageIcon("images/1.png"));
jt = new JTextArea();
jscroll = new JScrollPane(jt);
jscroll.setSize(10, 10);
//拆分窗格
jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jList,jl1);
jsp.setOneTouchExpandable(true);
//添加组件
this.setLayout(new GridLayout(2,1));
this.add(jsp);
this.add(jscroll);
this.setSize(500,400);
this.setLocation(200,300);
this.setIconImage(new ImageIcon("images/qie.png").getImage());
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
JTabbedPane 选项卡
package chen.com;
import java.awt.*;
import java.awt.image.ImageObserver;
import java.awt.image.ImageProducer;
import javax.swing.*;
public class MyClass extends JFrame {
JTabbedPane jtp;
JPanel jp1,jp2,jp3;
JLabel jl1,jl2,jl3;
public static void main(String[] args) {
MyClass myclass = new MyClass();
}
public MyClass(){
//创建组件
jtp = new JTabbedPane();
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jp3.setBackground(Color.GRAY);
jl1 = new JLabel("选项卡1",JLabel.CENTER);
jl2 = new JLabel("选项卡2",JLabel.CENTER);
jl3 = new JLabel("选项卡3",JLabel.CENTER);
jl1.setFont(new Font("宋体",Font.PLAIN,16));//设置字体样式
jl2.setForeground(Color.BLUE);//设置字体颜色
jl3.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));//鼠标移动上去有一只手
jp1.add(jl1);
jp2.add(jl2);
jp3.add(jl3);
jtp.add(" 1 ",jp1);
jtp.add(" 2 ",jp2);
jtp.add(" 3 ",jp3);
this.add(jtp);
this.setSize(500,400);
this.setLocation(200,300);
this.setIconImage(new ImageIcon("images/qie.png").getImage());
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
记事本界面
package chen.com;
import java.awt.*;
import java.awt.image.ImageObserver;
import java.awt.image.ImageProducer;
import javax.swing.*;
public class Notepad extends JFrame {
JMenuBar jmb;//菜单条组件
JMenu menu1,menu2,menu3,menu4,menu5;
JMenuItem item1,item2,item3,item4,item5,item6,item7;
JMenu xinjian;//二级菜单
JMenuItem file,project;
JTextArea jta;
JScrollPane jsp;
JToolBar jtb;
JButton jb1,jb2,jb3;
public static void main(String[] args) {
Notepad myclass = new Notepad();
}
public Notepad(){
//创建组件
jtb = new JToolBar(); //图片当做按钮
jb1 = new JButton(new ImageIcon("images/xinjian.png"));
jb1.setToolTipText("新建");
jb2 = new JButton(new ImageIcon("images/dakai.png"));
jb2.setToolTipText("打开");
jb3 = new JButton(new ImageIcon("images/zuijin.png"));
jb3.setToolTipText("最近");
jmb = new JMenuBar();
menu1 = new JMenu("文件(F)");
menu1.setMnemonic('f'); //助记符
menu2 = new JMenu("编辑(E)");
menu1.setMnemonic('E');
menu3 = new JMenu("格式(O)");
menu1.setMnemonic('O');
menu4 = new JMenu("查看(V)");
menu1.setMnemonic('V');
menu5 = new JMenu("帮助(H)");
menu1.setMnemonic('H');
xinjian = new JMenu("新建");
file = new JMenuItem("文件");
project = new JMenuItem("工程");
item2 = new JMenuItem("打开",new ImageIcon("dakai.png"));
item3 = new JMenuItem("保存s");
item3.setMnemonic('S');
item4 = new JMenuItem("另存为");
item5 = new JMenuItem("页面设置");
item6 = new JMenuItem("打印");
item7 = new JMenuItem("退出");
jta = new JTextArea();
//设置布局
//添加组件
//将按钮添加到工具条上
jtb.add(jb1);
jtb.add(jb2);
jtb.add(jb3);
//将菜单项添加到菜单上
xinjian.add(file);
xinjian.add(project);
menu1.add(xinjian);
menu1.add(item2);
menu1.add(item3);
menu1.add(item4);
menu1.addSeparator();//添加分割线
menu1.add(item5);
menu1.add(item6);
menu1.addSeparator();
menu1.add(item7);
jmb.add(menu1);
jmb.add(menu2);
jmb.add(menu3);
jmb.add(menu4);
jmb.add(menu5);
//将菜单条添加到窗体上
this.setJMenuBar(jmb);
//将工具条添加到窗体上
this.add(jtb,BorderLayout.NORTH);
jsp = new JScrollPane(jta);
jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
this.add(jsp);
this.setSize(500,400);
this.setLocation(200,300);
this.setTitle("记事本");
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}