- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) >
- Java Swing程序設計實(shí)戰
package swing; import java.awt.*; import java.awt.event.*; import java.net.*; import javax.swing.*; public class JButtonTest extends JFrame { /** * */ private static final long serialVersionUID = 1L; public JButtonTest() { URL url = JButtonTest.class.getResource("imageButton.jpg"); Icon icon = new ImageIcon(url); setLayout(new GridLayout(3, 2, 5, 5)); // 設置網(wǎng)格布局管理器 Container c = getContentPane(); // 創(chuàng )建容器 for (int i = 0; i < 5; i++) { // 創(chuàng )建按鈕,同時(shí)設置按鈕文字與圖標 JButton J = new JButton("button" + i, icon); c.add(J); // 在容器中添加按鈕 if (i % 2 == 0) { J.setEnabled(false); // 設置其中一些按鈕不可用 } } JButton jb = new JButton(); // 實(shí)例化一個(gè)沒(méi)有文字與圖片的按鈕 jb.setMaximumSize(new Dimension(90, 30)); // 設置按鈕與圖片相同大小 jb.setIcon(icon); // 為按鈕設置圖標 jb.setHideActionText(true); jb.setToolTipText("圖片按鈕"); // 設置按鈕提示為文字 jb.setBorderPainted(false); // 設置按鈕邊界不顯示 jb.addActionListener(new ActionListener() { // 為按鈕添加監聽(tīng)事件 public void actionPerformed(ActionEvent e) { // 彈出確認對話(huà)框 JOptionPane.showMessageDialog(null, "彈出對話(huà)框"); } }); c.add(jb); // 將按鈕添加到容器中 setTitle("創(chuàng )建帶文字與圖片的按鈕"); setSize(350, 150); setVisible(true); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); } public static void main(String args[]) { new JButtonTest(); } }
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CheckBoxTest extends JFrame { /** * */ private static final long serialVersionUID = 1L; private JPanel panel1 = new JPanel(); private JPanel panel2 = new JPanel(); private JTextArea jt = new JTextArea(3, 10); private JCheckBox jc1 = new JCheckBox("1"); private JCheckBox jc2 = new JCheckBox("2"); private JCheckBox jc3 = new JCheckBox("3"); public CheckBoxTest() { Container c = getContentPane(); c.setLayout(new BorderLayout()); c.add(panel1, BorderLayout.NORTH); final JScrollPane scrollPane = new JScrollPane(jt); panel1.add(scrollPane); c.add(panel2, BorderLayout.SOUTH); panel2.add(jc1); jc1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (jc1.isSelected()) jt.append("復選框1被選中\n"); } }); panel2.add(jc2); jc2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (jc2.isSelected()) jt.append("復選框2被選中\n"); } }); panel2.add(jc3); jc3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (jc3.isSelected()) jt.append("復選框3被選中\n"); } }); setSize(200, 160); setVisible(true); setTitle("復選框的使用"); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String[] args) { new CheckBoxTest(); } }
import java.awt.*; import javax.swing.*; public class JComboBoxModelTest extends JFrame { private static final long serialVersionUID = 1L; JComboBox<String> jc = new JComboBox<>(new MyComboBox()); JLabel jl = new JLabel("請選擇證件"); public JComboBoxModelTest() { setSize(new Dimension(160, 180)); setVisible(true); setTitle("在窗口中設置下拉列表框"); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); Container cp = getContentPane(); cp.setLayout(new FlowLayout()); cp.add(jl); cp.add(jc); } public static void main(String[] args) { new JComboBoxModelTest(); } } class MyComboBox extends AbstractListModel<String> implements ComboBoxModel<String> { /** * */ private static final long serialVersionUID = 1L; String selecteditem = null; String[] test = { "身份證", "軍人證", "學(xué)生證", "工作證" }; public String getElementAt(int index) { return test[index]; } public int getSize() { return test.length; } public void setSelectedItem(Object item) { selecteditem = (String) item; } public Object getSelectedItem() { return selecteditem; } public int getIndex() { for (int i = 0; i < test.length; i++) { if (test[i].equals(getSelectedItem())) return i; } return 0; } }
import java.awt.*; import javax.swing.*; public class JListTest extends JFrame { /** * */ private static final long serialVersionUID = 1L; public JListTest() { Container cp = getContentPane(); cp.setLayout(null); JList<String> jl = new JList<>(new MyListModel()); JScrollPane js = new JScrollPane(jl); js.setBounds(10, 10, 100, 100); cp.add(js); setTitle("在這個(gè)窗體中使用了列表框"); setSize(200, 150); setVisible(true); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); } public static void main(String args[]) { new JListTest(); } } class MyListModel extends AbstractListModel<String> { /** * */ private static final long serialVersionUID = 1L; private String[] contents = { "列表1", "列表2", "列表3", "列表4", "列表5", "列表6" }; public String getElementAt(int x) { if (x < contents.length) return contents[x++]; else return null; } public int getSize() { return contents.length; } }
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JTextFieldTest extends JFrame { /** * */ private static final long serialVersionUID = 1L; public JTextFieldTest() { setSize(250, 100); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); Container cp = getContentPane(); getContentPane().setLayout(new FlowLayout()); final JTextField jt = new JTextField("aaa", 20); final JButton jb = new JButton("清除"); cp.add(jt); cp.add(jb); jt.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { // TODO 自動(dòng)生成方法存根 jt.setText("觸發(fā)事件"); } }); jb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { jt.setText(""); jt.requestFocus(); } }); setVisible(true); } public static void main(String[] args) { new JTextFieldTest(); } }
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JTextFieldTest extends JFrame { /** * */ private static final long serialVersionUID = 1L; public JTextFieldTest() { setSize(250, 100); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); Container cp = getContentPane(); getContentPane().setLayout(new FlowLayout()); // final JTextField jt=new JTextField("aaa",20); JPasswordField jp = new JPasswordField("", 20); jp.setEchoChar('*'); final JButton jb = new JButton("清除"); cp.add(jp); cp.add(jb); jp.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { // TODO 自動(dòng)生成方法存根 jp.setText("觸發(fā)事件"); } }); jb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { jp.setText(""); jp.requestFocus(); } }); setVisible(true); } public static void main(String[] args) { new JTextFieldTest(); } }
import java.awt.*; import javax.swing.*; public class JTextAreaTest extends JFrame { public JTextAreaTest() { setSize(200, 100); setTitle("定義自動(dòng)換行的文本域"); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); Container cp = getContentPane(); JTextArea jt = new JTextArea("文本域", 6, 6); jt.setLineWrap(true); cp.add(jt); setVisible(true); } public static void main(String[] args) { new JTextAreaTest(); } }
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SimpleEvent extends JFrame { /** * */ private static final long serialVersionUID = 1L; private JButton jb = new JButton("我是按鈕,點(diǎn)擊我"); public SimpleEvent() { setLayout(null); setSize(200, 100); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); Container cp = getContentPane(); cp.add(jb); jb.setBounds(10, 10, 100, 30); jb.addActionListener(new jbAction()); setVisible(true); } class jbAction implements ActionListener { public void actionPerformed(ActionEvent arg0) { jb.setText("我被單擊了"); } } public static void main(String[] args) { new SimpleEvent(); } }
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class FocusEventTest extends JFrame { /** * */ private static final long serialVersionUID = 1L; public FocusEventTest() { setSize(250, 100); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); Container cp = getContentPane(); getContentPane().setLayout(new FlowLayout()); final JLabel label = new JLabel(); getContentPane().add(label); JTextField jt = new JTextField("請單擊其他文本框", 10); JTextField jt2 = new JTextField("請單擊我", 10); cp.add(jt); cp.add(jt2); jt.addFocusListener(new FocusListener() { // 組件失去焦點(diǎn)時(shí)調用的方法 public void focusLost(FocusEvent arg0) { JOptionPane.showMessageDialog(null, "文本框失去焦點(diǎn)"); } // 組件獲取鍵盤(pán)焦點(diǎn)時(shí)調用的方法 public void focusGained(FocusEvent arg0) { } }); setVisible(true); } public static void main(String[] args) { new FocusEventTest(); } }
到此這篇關(guān)于JavaSwing實(shí)現程序界面設計的文章就介紹到這了,更多相關(guān)JavaSwing程序界面設計內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。
Copyright ? 2009-2021 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 珠海市特網(wǎng)科技有限公司 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站