📄 example0501_userinterface.java
字号:
inf2.setLocation(205,0);
desk=new JDesktopPane();
desk.add(inf1);
desk.add(inf2);
Container con=getContentPane();
con.add(desk);
setSize(600,600);
setVisible(true);
}
}
class Texts extends JFrame implements ActionListener
{
JLabel namep;
JTextField name;
JLabel passwp;
JPasswordField passw;
JLabel aboutp;
JTextArea about;
JPanel panel1;
JPanel panel2;
JPanel panel3;
Texts()
{
super("文本框");
setSize(330,400);
namep=new JLabel("输入姓名");
name=new JTextField(20);
panel1=new JPanel();
panel1.add(namep);
panel1.add(name);
passwp=new JLabel("输入密码");
passw=new JPasswordField(20);
passw.addActionListener(this);
panel2=new JPanel();
panel2.add(passwp);
panel2.add(passw);
ImageIcon icon=new ImageIcon("java.gif");
aboutp=new JLabel("说明",icon,JLabel.RIGHT);
about=new JTextArea(10,20);
JScrollPane sp=new JScrollPane(about);
panel3=new JPanel();
panel3.add(aboutp);
panel3.add(sp);
Container con=getContentPane();
con.add(panel1,"North");
con.add(panel2,"Center");
con.add(panel3,"South");
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
about.append(name.getText());
}
}
class Buttons extends JFrame implements ActionListener
{
JButton butt;
JCheckBox check;
JRadioButton red;
JRadioButton green;
JRadioButton blue;
JPanel pane;
ButtonGroup group;
Buttons()
{
super("按钮");
butt=new JButton("改变背景色");
butt.addActionListener(this);
butt.addMouseListener(new MouseAdapter()
{
public void mouseEntered(MouseEvent e)
{
butt.setToolTipText("鼠标进入,但我不可用了!");
butt.setEnabled(false);
}
public void mouseExited(MouseEvent e)
{
butt.setEnabled(true);
JOptionPane.showMessageDialog(null,"鼠标离开,我又可用了,气死你!");
}
});
check=new JCheckBox("隐藏按钮");
check.addActionListener(this);
red=new JRadioButton("红色");
green=new JRadioButton("绿色");
blue=new JRadioButton("蓝色");
red.addActionListener(this);
green.addActionListener(this);
blue.addActionListener(this);
group=new ButtonGroup();
group.add(red);
group.add(green);
group.add(blue);
pane=new JPanel();
pane.add(red);
pane.add(green);
pane.add(blue);
pane.setBorder(BorderFactory.createLineBorder(Color.gray,2));
Container con=getContentPane();
FlowLayout lay=new FlowLayout();
lay.setVgap(20);
con.setLayout(lay);
con.add(butt);
con.add(check);
con.add(pane);
setSize(200,150);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
Object t=e.getSource();
if (t==butt)
{
Random r=new Random();
butt.setBackground(new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255)));
}
if (t==check)
{
boolean s=check.isSelected();
butt.setVisible(!s);
}
if (t==red)
{
butt.setForeground(Color.red);
}
if (t==green)
{
butt.setForeground(Color.green);
}
if (t==blue)
{
butt.setForeground(Color.blue);
}
}
}
class Comboxs extends JFrame implements ItemListener,ActionListener,ListSelectionListener
{
JComboBox combox1;
JComboBox combox2;
JLabel label1;
JLabel label2;
String[] listv={"Red","Green","Blue","Yellow","Cyan","Gray"};
Comboxs()
{
super("列表框、组合框");
combox1=new JComboBox();
combox1.addItem("项目11");
combox1.addItem("项目12");
combox1.addItem("项目13");
combox1.addItem("项目14");
combox1.addItem("项目15");
combox2=new JComboBox();
combox2.setEditable(true);
combox2.addItem("项目21");
combox2.addItem("项目22");
combox2.addItem("项目23");
combox2.addItem("项目24");
combox2.addItem("项目25");
label1=new JLabel("Item");
label2=new JLabel("Action");
combox1.addItemListener(this);
combox2.addItemListener(this);
combox1.addActionListener(this);
combox2.addActionListener(this);
Container con=getContentPane();
Box box=Box.createVerticalBox();
box.add(combox1);
box.add(combox2);
box.add(label1);
box.add(label2);
JList list=new JList(listv);
list.addListSelectionListener(this);
list.setVisibleRowCount(3);
con.add(box,"North");
con.add(new JScrollPane(list),"South");
setSize(600,200);
setVisible(true);
}
public void itemStateChanged(ItemEvent e)
{
JComboBox b=(JComboBox)e.getSource();
String s=(String)e.getItem();
if (b==combox1)
{
label1.setText("这是不可编辑的,你选择了"+s);
}
if (b==combox2)
{
label1.setText("这是可编辑的,你选择了"+s);
}
}
public void actionPerformed(ActionEvent e)
{
JComboBox b=(JComboBox)e.getSource();
String s=(String)e.paramString();
label2.setText("Action performed!"+s);
}
public void valueChanged(ListSelectionEvent e)
{
int n=((JList)e.getSource()).getSelectedIndex();
label2.setText("你选择了第 "+n+" 项");
}
}
class Stddialogs
{
Stddialogs()
{
int ret;
ret=JOptionPane.showConfirmDialog(null,"How are you?");
ret=JOptionPane.showConfirmDialog(null,"How are you?","YES_NO_OPTION",JOptionPane.OK_CANCEL_OPTION);
ret=JOptionPane.showConfirmDialog(null,"How are you?","YES_NO_CANCEL_OPTION",JOptionPane.YES_NO_CANCEL_OPTION);
ret=JOptionPane.showConfirmDialog(null,"How are you?","ERROR_MESSAGE",JOptionPane.YES_NO_OPTION,JOptionPane.ERROR_MESSAGE);
ret=JOptionPane.showConfirmDialog(null,"How are you?","INFORMATION_MESSAGE",JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);
ret=JOptionPane.showConfirmDialog(null,"How are you?","WARNING_MESSAGE",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);
ret=JOptionPane.showConfirmDialog(null,"How are you?","QUESTION_MESSAGE",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);
ret=JOptionPane.showConfirmDialog(null,"How are you?","PLAIN_MESSAGE",JOptionPane.YES_NO_OPTION,JOptionPane.PLAIN_MESSAGE );
String input=JOptionPane.showInputDialog(null,"Please input n","100");
JOptionPane.showMessageDialog(null,input,"Hello",JOptionPane.INFORMATION_MESSAGE);
}
}
class Choosers1 extends JFrame
{
JLabel result;
Choosers1()
{
super("File JChooser");
setSize(600,200);
result=new JLabel("disp result");
Container con=getContentPane();
con.add(result,"North");
show();
operating();
}
public void operating()
{
JFileChooser fc=new JFileChooser();
fc.setMultiSelectionEnabled(true);
fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int ret=fc.showDialog(null,"选择");
if (ret==JFileChooser.APPROVE_OPTION)
{
File dir=fc.getCurrentDirectory();
File file=fc.getSelectedFile();
result.setText(dir.getAbsolutePath()+"\\"+file.getName());
}
fc.showOpenDialog(null);
fc.showSaveDialog(null);
}
}
class Choosers2 extends JFrame
{
JLabel result;
Choosers2()
{
super("Color JChooser");
setSize(200,200);
result=new JLabel("disp result");
Container con=getContentPane();
con.add(result,"North");
show();
Color color=JColorChooser.showDialog(null,"Color Chooser",new Color(0,0,255));
result.setForeground(color);
}
}
class Bars1 extends JFrame implements ActionListener,Runnable //Runnable用于实现线程
{
JButton butt;
JProgressBar pbar;
Bars1()
{
super("Bars");
butt=new JButton("Start");
butt.addActionListener(this);
pbar=new JProgressBar(JProgressBar.HORIZONTAL,0,100);
pbar.setStringPainted(true);
pbar.setBorderPainted(true);
Container con=getContentPane();
con.add(pbar,"North");
con.add(butt,"Center");
setSize(600,600);
setVisible(true);
pack();
}
public void actionPerformed(ActionEvent e)
{
Thread t=new Thread(this);
t.start();
}
public void run()
{
for (int i=0;i<=100;i++)
{
try{
Thread.sleep(50);
}
catch (InterruptedException ee)
{
}
pbar.setValue(i);
}
}
}
class Timers extends JFrame implements ActionListener
{
javax.swing.Timer timer;
JLabel dispt;
Timers()
{
super("计时器");
timer=new javax.swing.Timer(1000,this);
Font f=new Font("黑体",Font.BOLD,36);
dispt=new JLabel();
dispt.setHorizontalAlignment(JLabel.CENTER);
dispt.setFont(f);
dispt.setForeground(Color.RED);
setSize(600,200);
getContentPane().add(dispt);
setVisible(true);
timer.start();
}
public void actionPerformed(ActionEvent e)
{
dispt.setText(new Date().toString());
}
}
class Adjusts extends JFrame implements ChangeListener
{
JSlider slider;
JSpinner spin;
Adjusts()
{
super("滑块、微调器");
slider=new JSlider(0,100,10);
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
slider.setPaintTicks(true);
slider.setPaintLabels(true);
// slider.setSnapToTicks(true); //设置是否将滑块吸附在标记上
slider.addChangeListener(this);
spin=new JSpinner();
spin.setValue(new Integer(10));
spin.addChangeListener(this);
Box box=Box.createHorizontalBox();
box.add(slider);
box.add(Box.createHorizontalStrut(50));
box.add(spin);
Container con=getContentPane();
con.add(box);
setVisible(true);
pack();
}
public void stateChanged(ChangeEvent e)
{
if (e.getSource()==slider)
{
int n=slider.getValue();
spin.setValue(new Integer(n));
}
else
{
Integer n=(Integer)spin.getValue();
slider.setValue(n.intValue());
}
}
}
class Popmenus extends JFrame implements ActionListener
{
JPopupMenu pop;
Popmenus()
{
super("弹出菜单");
setSize(400,400);
setVisible(true);
pop=new JPopupMenu();
JMenuItem item1=new JMenuItem("示例菜单项");
JMenuItem item2=new JMenuItem("退出");
item2.addActionListener(this);
pop.add(item1);
pop.add(item2);
addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
if (e.isPopupTrigger())
{
pop.show(e.getComponent(),e.getX(),e.getY());
}
}
public void mouseReleased(MouseEvent e)
{
if (e.isPopupTrigger())
{
pop.show(e.getComponent(),e.getX(),e.getY());
}
}
});
}
public void actionPerformed(ActionEvent e)
{
dispose();
}
}
class Trees extends JFrame implements TreeSelectionListener
{
JTree tree;
JTextArea text;
public Trees()
{
setTitle("简单的树");
setSize(300, 600);
DefaultMutableTreeNode root=new DefaultMutableTreeNode("济南大学");
DefaultMutableTreeNode school=new DefaultMutableTreeNode("信息学院");
root.add(school);
DefaultMutableTreeNode dept=new DefaultMutableTreeNode("计算机系");
school.add(dept);
DefaultMutableTreeNode staff=new DefaultMutableTreeNode("应用教研室");
dept.add(staff);
staff=new DefaultMutableTreeNode("理论教研室");
dept.add(staff);
dept=new DefaultMutableTreeNode("基础教学部");
school.add(dept);
staff=new DefaultMutableTreeNode("文化基础教研室");
dept.add(staff);
school=new DefaultMutableTreeNode("教务处");
root.add(school);
dept=new DefaultMutableTreeNode("教务科");
school.add(dept);
dept=new DefaultMutableTreeNode("教学科");
school.add(dept);
tree=new JTree(root);
tree.setEditable(true);
tree.putClientProperty("JTree,lineStyle","Angled");
tree.setShowsRootHandles(true);
tree.addTreeSelectionListener(this);
DefaultTreeCellRenderer r=new DefaultTreeCellRenderer();
r.setLeafIcon(new ImageIcon("java.gif"));
r.setBackground(Color.BLUE);
r.setTextSelectionColor(Color.yellow);
// tree.setCellRenderer(r); //设置渲染
text=new JTextArea(10,30);
JScrollPane sptree=new JScrollPane(tree);
JScrollPane sptext=new JScrollPane(text);
JSplitPane sp=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true,sptree,sptext);
Container con=getContentPane();
con.add(sp);
setVisible(true);
}
public void valueChanged(TreeSelectionEvent e)
{
DefaultMutableTreeNode snode=(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
if (snode!=null && snode.toString()=="应用教研室")
{
text.setText("欢迎光临计算机应用教研中心!");
}
}
}
class Tables extends JFrame implements ActionListener
{
class TM extends DefaultTableModel
{
TM(Object[][] data,Object[] cols)
{
super(data,cols);
}
public Class getColumnClass(int c)
{
return getValueAt(0,c).getClass();
}
}
JTable table;
JButton butt;
TM model;
Tables()
{
super("表格");
setVisible(true);
Object[][] rows=
{
{"张三",new Integer(20),Color.red,new ImageIcon("java.gif")},
{"李四",new Integer(22),Color.blue,null},
{"钱五",new Integer(25),Color.green,new ImageIcon("sun.gif")},
};
String[] cols={"姓名","年龄","婚否","照片"};
// model=new TM(rows,cols);
table=new JTable(rows,cols);
// table.setDefaultRenderer(Color.class,new MyRender());
table.setShowGrid(true);
table.setGridColor(Color.blue);
butt=new JButton("add");
butt.addActionListener(this);
Container con=getContentPane();
con.add(new JScrollPane(table),"North");
con.add(butt,"South");
pack();
}
public void actionPerformed(ActionEvent e)
{
Object[] o={"张三",new Integer((int)(Math.random()*25)),Color.cyan,new ImageIcon("java.gif")};
model.addRow(o);
}
class MyRender implements TableCellRenderer
{
JPanel p=new JPanel();
public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int col)
{
p.setBackground((Color)value);
return p;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -