Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1736311
  • 博文数量: 438
  • 博客积分: 9799
  • 博客等级: 中将
  • 技术积分: 6092
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-25 17:25
文章分类

全部博文(438)

文章存档

2019年(1)

2013年(8)

2012年(429)

分类: Java

2012-03-26 02:03:20

不想花太多时间在UI上,因为GUI一般都大同小异,需要使用时再翻阅文档应该也够了。java里的图形界面由javax.swing.*支持。现在给出一个粗糙的例子:


  1. public class SwingTest {
  2.     static void testJFrame() {
  3.         JFrame frame = new JFrame("Window Title");
  4.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  5.         frame.setSize(400, 300);
  6.         frame.setLayout(new FlowLayout());
  7.         
  8.         final JLabel label = new JLabel("label text");
  9.         
  10.         final JTextArea textArea = new JTextArea();
  11.         textArea.addKeyListener(new KeyAdapter() {
  12.             @Override
  13.             public void keyTyped(KeyEvent e) {
  14.                 label.setText(label.getText() + e.getKeyChar());
  15.             }
  16.         });
  17.         
  18.         final JButton button = new JButton("button text");
  19.         button.addActionListener(new ActionListener() {
  20.             @Override
  21.             public void actionPerformed(ActionEvent e) {
  22.                 textArea.append(((JButton)e.getSource()).getText());
  23.             }
  24.         });
  25.         button.addMouseListener(new MouseAdapter() {
  26.             @Override
  27.             public void mouseClicked(MouseEvent e) {
  28.                 JPopupMenu menu = new JPopupMenu();
  29.                 menu.add(new JMenuItem("Item"));
  30.                 menu.show(button, 23, 35);
  31.             }
  32.         });
  33.         
  34.         frame.add(label);
  35.         frame.add(button);
  36.         frame.add(textArea);
  37.         frame.setVisible(true);
  38.     }
  39. }

阅读(869) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~