note1

JFrame

http://docs.oracle.com/javase/8/docs/api/

常用屬性

    •  this.setAlwaysOnTop(true);
    •  this.setAutoRequestFocus(true);
    •  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    •  this.setResizable(true);
    •  this.setEnabled(true);
    •  this.setSize(100,200);
    • this.setOpacity((float)1.0);// 當前窗體被系統修飾以後,只能opacity給1.0
      this.setUndecorated(true);//當前窗體不被系統裝飾, 最小化,最大化,關閉按鈕都沒有
                                  //要自己添加按鈕進行關閉等操作
    • this.setType(Type.POPUP);
      //        this.setType(Type.NORMAL);
      //        this.setType(Type.UTILITY);  //根據type,系統修飾的方式略有不同
    • setVisible(true)
    • JPanel panel1 = new JPanel();
      this.setContentPane(panel1); 要給JFrame設置一個contentPane
      

JPanel

Container中可以放控件,或者其他容器。

常用屬性

  • JPanel panel1 = new JPanel();
  • panel1.setBackground(Color.BLUE);
  • panel1.setLayout(new FlowLayout());  //JPanel default layout ==> borderlayout
  • panel1.setBorder(new TitledBorder("panel1"));

其他Containter


JLabel

常用屬性

  • JLabel lbl1 = new JLabel();
  •  lbl1.setFont(new Font("MS Mincho", Font.BOLD, 14));
  •  lbl1.setText("lbl1");
  •  lbl1.setForeground(Color.BLACK);
  •  lbl1.setIcon(new ImageIcon(this.getClass().getResource("icon1.png")));
  • 
    
  •  lbl1.setToolTipText("tool tip");
  • 文本對齊方式:
  •  lbl1.setHorizontalAlignment(SwingConstants.CENTER);
  •  lbl1.setVerticalAlignment(SwingConstants.TOP);

JButton

常用屬性

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. JButton btn1 = new JButton("btn1");  
  2.         btn1.addMouseListener(new MouseAdapter() {  
  3.             @Override  
  4.             public void mouseClicked(MouseEvent e) {  
  5.                 System.out.println("1");  
  6.             }  
  7.         });  

JTextField 單行文本框

常用屬性

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. TextField jtf1 = new JTextField();  
  2.         jtf1.setEnabled(true);  
  3.         jtf1.setEditable(false);  
  4.         jtf1.setText("du text");  

JTextArea 多行文本框

常用屬性

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. JTextArea ta = new JTextArea();  
  2. ta.setRows(5);  
  3. ta.setColumns(10);  
  4. ta.setLineWrap(true);// default : false  

JScrollPane

把ta放在JScrollPane中的viewportview中,然後把JScrollPane放在panel中

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. JScrollPane scrollPane = new JScrollPane();  
  2.         scrollPane.setViewportView(ta);  
  3.         panel1.add(scrollPane);  

JRadioButton,JCheckBox

把rb加到buttongroup中,但是jpanel中加的是rb

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. JRadioButton rb1 = new JRadioButton("rb1");  
  2. rb1.setSelected(true);  
  3. System.out.println(rb1.isSelected());  
  4. JRadioButton rb2 = new JRadioButton("rb2");  
  5. JRadioButton rb3 = new JRadioButton();  
  6. rb3.setText("rb3");  
  7. ButtonGroup btnGr = new ButtonGroup();  
  8. btnGr.add(rb1);  
  9. btnGr.add(rb2);  
  10. btnGr.add(rb3);  
  11. panel1.add(rb1);  
  12. panel1.add(rb2);  
  13. panel1.add(rb3);  

JList

給List設置model數據

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. lstName = new JList<String>();  
  2. lstName.setModel(new AbstractListModel<String>() {  
  3.     private String[] values = new String[]{"java""c++""c#"};  
  4.     @Override  
  5.     public int getSize() {  
  6.         return values.length;  
  7.     }  
  8.     @Override  
  9.     public String getElementAt(int index) {  
  10.         return values[index];  
  11.     }  
  12. });  

常用方法:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. lstName.getSelectedValue();  
  2. lstName.getSelectedIndex();  
  3. lstName.getSelectedIndices();  
  4. lstName.getSelectedValuesList();  
  5. lstName.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);  
  • 如果不選擇任何項,selectedIndex是-1.
  • 默認selectionmode是可選多行

JComboBox

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. String[] values = new String[]{"java""c++""c#"};  
  2. comboCours = new JComboBox<String>(values);  
  3. comboCours.addItemListener(new ItemListener() {  
  4.     @Override  
  5.     public void <span style="background-color: rgb(255, 255, 102);">itemStateChanged</span>(ItemEvent e) {  
  6.         System.out.println(comboCours.getSelectedItem());  
  7.     }  
  8. });  
  9. panel1.add(comboCours);  

JProgressBar

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. progressBar = new JProgressBar();  
  2. progressBar.setMinimum(0);  
  3. progressBar.setMaximum(100);  

用swingworker多線程控制JprogressBar:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. panel1.add(progressBar);  
  2.         JButton btnPB = new JButton("add");  
  3.         btnPB.addMouseListener(new MouseAdapter() {  
  4.             @Override  
  5.             public void mouseClicked(MouseEvent e) {  
  6.                 new SwingWorker<String,Integer>(){  
  7.   
  8.                     @Override  
  9.                     protected String doInBackground() throws Exception {  
  10.                         for (int i = 0; i <=10; i++ ) {  
  11.                             Thread.sleep(1000);//sleep for 1s  
  12.                             publish(i*10);  
  13.                         }  
  14.                         return null;  
  15.                     }  
  16.   
  17.                     @Override  
  18.                     protected void process(List<Integer> chunks) {  
  19.                         for(Integer integer : chunks){  
  20.                             progressBar.setValue(integer);  
  21.                         }  
  22.                     }  
  23.                 }.execute();  
  24.             }  
  25.         });  
  26.         panel1.add(btnPB);  

JSpinner數字調節控件

model是數字:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. JSpinner spinner1 = new JSpinner();  
  2. spinner1.setModel(new SpinnerNumberModel(60,0,100,1));  
  3.                     //int value, int minimum, int maximum, int stepSize  
  4.                     //double, double,double,double  
  5. panel1.add(spinner1);  
  6.   
  7. int num = Integer.parseInt(spinner1.getValue().toString());  
  8. System.out.println(num);  

model是日期:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. JSpinner spinner2 = new JSpinner();  
  2. spinner2.setModel(new SpinnerDateModel());  
  3. panel1.add(spinner2);  
發佈了50 篇原創文章 · 獲贊 54 · 訪問量 51萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章