Usefull swing component-Auto complete combobox.

本文将深入探讨Swing组件的内部结构,通过具体实例帮助读者更好地理解并掌握Swing组件的工作原理。此外,还提供了一个关于JComboBox的具体案例研究。
主界面:import java.awt.*; import java.awt.event.*; import javax.swing.*; /* * Created by JFormDesigner on Mon Jun 16 09:56:02 CST 2025 */ /** * @author 花间一壶酒 */ public class MainInterface extends JFrame { public MainInterface() { initComponents(); } static MainInterface mi = new MainInterface(); private void button1(ActionEvent e) { // TODO add your code here SwingUtilities.invokeLater(() -> { Fill f = new Fill(); f.setVisible(true); }); } private void button3(ActionEvent e) { // TODO add your code here SwingUtilities.invokeLater(() -> { Fill f = new Fill(); f.setVisible(true); }); } private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents @formatter:off label1 = new JLabel(); label2 = new JLabel(); button3 = new JButton(); label4 = new JLabel(); button1 = new JButton(); //======== this ======== setBackground(new Color(0x00cccc)); setForeground(new Color(0x00cccc)); var contentPane = getContentPane(); contentPane.setLayout(null); //---- label1 ---- label1.setText("\u897f\u5357\u8d22\u7ecf\u5927\u5b66\u5929\u5e9c\u5b66\u9662"); label1.setFont(label1.getFont().deriveFont(label1.getFont().getStyle() | Font.BOLD, label1.getFont().getSize() + 40f)); contentPane.add(label1); label1.setBounds(new Rectangle(new Point(70, 60), label1.getPreferredSize())); //---- label2 ---- label2.setText("\u5b66\u751f\u8fd1\u89c6\u60c5\u51b5\u8c03\u67e5"); label2.setFont(label2.getFont().deriveFont(label2.getFont().getStyle() | Font.BOLD, label2.getFont().getSize() + 40f)); contentPane.add(label2); label2.setBounds(120, 150, 445, 65); //---- button3 ---- button3.setText("\u8c03\u67e5\u7ed3\u679c"); button3.addActionListener(e -> button3(e)); contentPane.add(button3); button3.setBounds(355, 265, 85, 30); //---- label4 ---- label4.setIcon(new ImageIcon(getClass().getResource("/1.png"))); contentPane.add(label4); label4.setBounds(new Rectangle(new Point(15, 10), label4.getPreferredSize())); //---- button1 ---- button1.setText("\u586b\u5199\u95ee\u5377"); button1.addActionListener(e -> button1(e)); contentPane.add(button1); button1.setBounds(165, 265, 85, 30); contentPane.setPreferredSize(new Dimension(680, 395)); pack(); setLocationRelativeTo(getOwner()); // JFormDesigner - End of component initialization //GEN-END:initComponents @formatter:on } // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables @formatter:off private JLabel label1; private JLabel label2; private JButton button3; private JLabel label4; private JButton button1; // JFormDesigner - End of variables declaration //GEN-END:variables @formatter:on public static void main(String[] args) { SwingUtilities.invokeLater(() ->{ MainInterface mi = new MainInterface(); mi.setVisible(true); }); } } 问卷调查界面: import java.awt.*; import java.awt.event.*; import java.io.FileWriter; import java.io.IOException; import javax.swing.*; /* * Created by JFormDesigner on Mon Jun 16 10:13:05 CST 2025 */ /** * @author 花间一壶酒 */ public class Fill extends JFrame { public Fill() { initComponents(); } private void button1(ActionEvent e) { // TODO add your code here String name = textField1.getText(); String id = textField2.getText(); String gender = comboBox1.getSelectedItem().toString(); String age = textField3.getText(); String grade =comboBox2.getSelectedItem().toString(); String college =comboBox3.getSelectedItem().toString(); //String degree =; String left =comboBox14.getSelectedItem().toString(); String right =comboBox15.getSelectedItem().toString(); String msg = name + "\t" + id + "\t" +gender + "\t" +age + "\t" +grade + "\t" +college + "\t" +left + "\t" +right + "\r\n"; String file = "D:\\西南财经大学天府学院近视调查.txt"; try { FileWriter fw = new FileWriter(file,true); fw.write(msg); fw.close(); }catch (IOException ex){ throw new RuntimeException(ex); } } private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents @formatter:off label1 = new JLabel(); label2 = new JLabel(); label3 = new JLabel(); label4 = new JLabel(); label5 = new JLabel(); label6 = new JLabel(); label7 = new JLabel(); label10 = new JLabel(); textField1 = new JTextField(); textField2 = new JTextField(); comboBox1 = new JComboBox<>(); comboBox2 = new JComboBox<>(); comboBox3 = new JComboBox<>(); textField3 = new JTextField(); comboBox14 = new JComboBox<>(); button1 = new JButton(); comboBox15 = new JComboBox<>(); label8 = new JLabel(); label9 = new JLabel(); //======== this ======== var contentPane = getContentPane(); contentPane.setLayout(null); //---- label1 ---- label1.setText("\u8fd1\u89c6\u8c03\u67e5\u95ee\u5377"); label1.setFont(label1.getFont().deriveFont(label1.getFont().getStyle() | Font.BOLD, label1.getFont().getSize() + 20f)); contentPane.add(label1); label1.setBounds(new Rectangle(new Point(195, 25), label1.getPreferredSize())); //---- label2 ---- label2.setText("\u59d3\u540d\uff1a"); label2.setFont(label2.getFont().deriveFont(label2.getFont().getStyle() & ~Font.ITALIC, label2.getFont().getSize() + 5f)); contentPane.add(label2); label2.setBounds(new Rectangle(new Point(70, 95), label2.getPreferredSize())); //---- label3 ---- label3.setText("\u5b66\u53f7\uff1a"); label3.setFont(label3.getFont().deriveFont(label3.getFont().getSize() + 5f)); contentPane.add(label3); label3.setBounds(new Rectangle(new Point(305, 95), label3.getPreferredSize())); //---- label4 ---- label4.setText("\u6027\u522b\uff1a"); label4.setFont(label4.getFont().deriveFont(label4.getFont().getSize() + 5f)); contentPane.add(label4); label4.setBounds(new Rectangle(new Point(70, 145), label4.getPreferredSize())); //---- label5 ---- label5.setText("\u5e74\u9f84\uff1a"); label5.setFont(label5.getFont().deriveFont(label5.getFont().getSize() + 5f)); contentPane.add(label5); label5.setBounds(305, 145, label5.getPreferredSize().width, 22); //---- label6 ---- label6.setText("\u5e74\u7ea7\uff1a"); label6.setFont(label6.getFont().deriveFont(label6.getFont().getSize() + 5f)); contentPane.add(label6); label6.setBounds(new Rectangle(new Point(70, 205), label6.getPreferredSize())); //---- label7 ---- label7.setText("\u8fd1\u89c6\u5ea6\u6570\uff1a"); label7.setFont(label7.getFont().deriveFont(label7.getFont().getSize() + 5f)); contentPane.add(label7); label7.setBounds(new Rectangle(new Point(70, 265), label7.getPreferredSize())); //---- label10 ---- label10.setText("\u5b66\u9662\uff1a"); label10.setFont(label10.getFont().deriveFont(label10.getFont().getSize() + 5f)); contentPane.add(label10); label10.setBounds(new Rectangle(new Point(305, 205), label10.getPreferredSize())); contentPane.add(textField1); textField1.setBounds(130, 91, 90, 30); contentPane.add(textField2); textField2.setBounds(370, 91, 90, 30); //---- comboBox1 ---- comboBox1.setModel(new DefaultComboBoxModel<>(new String[] { "\u7537", "\u5973" })); contentPane.add(comboBox1); comboBox1.setBounds(new Rectangle(new Point(130, 141), comboBox1.getPreferredSize())); //---- comboBox2 ---- comboBox2.setModel(new DefaultComboBoxModel<>(new String[] { "\u5927\u4e00", "\u5927\u4e8c", "\u5927\u4e09", "\u5927\u56db" })); contentPane.add(comboBox2); comboBox2.setBounds(new Rectangle(new Point(130, 201), comboBox2.getPreferredSize())); //---- comboBox3 ---- comboBox3.setModel(new DefaultComboBoxModel<>(new String[] { "\u4f1a\u8ba1\u5b66\u9662", "\u827a\u672f\u4e0e\u4f20\u5a92\u5b66\u9662", "\u667a\u80fd\u91d1\u878d\u5b66\u9662", "\u667a\u80fd\u79d1\u6280\u5b66\u9662", "\u5de5\u7a0b\u4e0e\u6750\u6599\u5b66\u9662", "\u73b0\u4ee3\u670d\u52a1\u7ba1\u7406\u5b66\u9662", "\u5eb7\u517b\u62a4\u7406\u5b66\u9662", "\u56fd\u9645\u6559\u80b2\u5b66\u9662", "\u6587\u5316\u4e0e\u6559\u80b2\u5b66\u9662", "\u793e\u533a\u6cbb\u7406\u5b66\u9662", "\u4f53\u80b2\u5b66\u9662" })); contentPane.add(comboBox3); comboBox3.setBounds(new Rectangle(new Point(380, 201), comboBox3.getPreferredSize())); contentPane.add(textField3); textField3.setBounds(365, 141, 90, 30); //---- comboBox14 ---- comboBox14.setModel(new DefaultComboBoxModel<>(new String[] { "\u4e0d\u8fd1\u89c6", "100\u5ea6\u4ee5\u4e0b", "100\uff5e200\u5ea6", "200\uff5e300\u5ea6", "300\uff5e400\u5ea6", "400\uff5e500\u5ea6", "600\u5ea6\u4ee5\u4e0a" })); contentPane.add(comboBox14); comboBox14.setBounds(new Rectangle(new Point(250, 260), comboBox14.getPreferredSize())); //---- button1 ---- button1.setText("\u63d0\u4ea4"); button1.setFont(button1.getFont().deriveFont(button1.getFont().getSize() + 5f)); button1.addActionListener(e -> button1(e)); contentPane.add(button1); button1.setBounds(new Rectangle(new Point(430, 390), button1.getPreferredSize())); //---- comboBox15 ---- comboBox15.setModel(new DefaultComboBoxModel<>(new String[] { "\u4e0d\u8fd1\u89c6", "100\u5ea6\u4ee5\u4e0b", "100\uff5e200\u5ea6", "200\uff5e300\u5ea6", "300\uff5e400\u5ea6", "400\uff5e500\u5ea6", "600\u5ea6\u4ee5\u4e0a" })); contentPane.add(comboBox15); comboBox15.setBounds(250, 315, 121, 30); //---- label8 ---- label8.setText("\u5de6\u773c\uff1a"); label8.setFont(label8.getFont().deriveFont(label8.getFont().getSize() + 5f)); contentPane.add(label8); label8.setBounds(new Rectangle(new Point(175, 265), label8.getPreferredSize())); //---- label9 ---- label9.setText("\u53f3\u773c\uff1a"); label9.setFont(label9.getFont().deriveFont(label9.getFont().getSize() + 5f)); contentPane.add(label9); label9.setBounds(175, 310, 65, 35); contentPane.setPreferredSize(new Dimension(625, 480)); pack(); setLocationRelativeTo(getOwner()); // JFormDesigner - End of component initialization //GEN-END:initComponents @formatter:on } // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables @formatter:off private JLabel label1; private JLabel label2; private JLabel label3; private JLabel label4; private JLabel label5; private JLabel label6; private JLabel label7; private JLabel label10; private JTextField textField1; private JTextField textField2; private JComboBox<String> comboBox1; private JComboBox<String> comboBox2; private JComboBox<String> comboBox3; private JTextField textField3; private JComboBox<String> comboBox14; private JButton button1; private JComboBox<String> comboBox15; private JLabel label8; private JLabel label9; // JFormDesigner - End of variables declaration //GEN-END:variables @formatter:on } 用import java.awt.*; import java.awt.event.*; import java.io.FileWriter; import java.io.IOException; import javax.swing.*; /* * Created by JFormDesigner on Mon Jun 16 10:13:05 CST 2025 */ /** * @author 花间一壶酒 */ public class Fill extends JFrame { public Fill() { initComponents(); } private void button1(ActionEvent e) { // TODO add your code here String name = textField1.getText(); String id = textField2.getText(); String gender = comboBox1.getSelectedItem().toString(); String age = textField3.getText(); String grade =comboBox2.getSelectedItem().toString(); String college =comboBox3.getSelectedItem().toString(); //String degree =; String left =comboBox14.getSelectedItem().toString(); String right =comboBox15.getSelectedItem().toString(); String msg = name + "\t" + id + "\t" +gender + "\t" +age + "\t" +grade + "\t" +college + "\t" +left + "\t" +right + "\r\n"; String file = "D:\\西南财经大学天府学院近视调查.txt"; try { FileWriter fw = new FileWriter(file,true); fw.write(msg); fw.close(); }catch (IOException ex){ throw new RuntimeException(ex); } } private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents @formatter:off label1 = new JLabel(); label2 = new JLabel(); label3 = new JLabel(); label4 = new JLabel(); label5 = new JLabel(); label6 = new JLabel(); label7 = new JLabel(); label10 = new JLabel(); textField1 = new JTextField(); textField2 = new JTextField(); comboBox1 = new JComboBox<>(); comboBox2 = new JComboBox<>(); comboBox3 = new JComboBox<>(); textField3 = new JTextField(); comboBox14 = new JComboBox<>(); button1 = new JButton(); comboBox15 = new JComboBox<>(); label8 = new JLabel(); label9 = new JLabel(); //======== this ======== var contentPane = getContentPane(); contentPane.setLayout(null); //---- label1 ---- label1.setText("\u8fd1\u89c6\u8c03\u67e5\u95ee\u5377"); label1.setFont(label1.getFont().deriveFont(label1.getFont().getStyle() | Font.BOLD, label1.getFont().getSize() + 20f)); contentPane.add(label1); label1.setBounds(new Rectangle(new Point(195, 25), label1.getPreferredSize())); //---- label2 ---- label2.setText("\u59d3\u540d\uff1a"); label2.setFont(label2.getFont().deriveFont(label2.getFont().getStyle() & ~Font.ITALIC, label2.getFont().getSize() + 5f)); contentPane.add(label2); label2.setBounds(new Rectangle(new Point(70, 95), label2.getPreferredSize())); //---- label3 ---- label3.setText("\u5b66\u53f7\uff1a"); label3.setFont(label3.getFont().deriveFont(label3.getFont().getSize() + 5f)); contentPane.add(label3); label3.setBounds(new Rectangle(new Point(305, 95), label3.getPreferredSize())); //---- label4 ---- label4.setText("\u6027\u522b\uff1a"); label4.setFont(label4.getFont().deriveFont(label4.getFont().getSize() + 5f)); contentPane.add(label4); label4.setBounds(new Rectangle(new Point(70, 145), label4.getPreferredSize())); //---- label5 ---- label5.setText("\u5e74\u9f84\uff1a"); label5.setFont(label5.getFont().deriveFont(label5.getFont().getSize() + 5f)); contentPane.add(label5); label5.setBounds(305, 145, label5.getPreferredSize().width, 22); //---- label6 ---- label6.setText("\u5e74\u7ea7\uff1a"); label6.setFont(label6.getFont().deriveFont(label6.getFont().getSize() + 5f)); contentPane.add(label6); label6.setBounds(new Rectangle(new Point(70, 205), label6.getPreferredSize())); //---- label7 ---- label7.setText("\u8fd1\u89c6\u5ea6\u6570\uff1a"); label7.setFont(label7.getFont().deriveFont(label7.getFont().getSize() + 5f)); contentPane.add(label7); label7.setBounds(new Rectangle(new Point(70, 265), label7.getPreferredSize())); //---- label10 ---- label10.setText("\u5b66\u9662\uff1a"); label10.setFont(label10.getFont().deriveFont(label10.getFont().getSize() + 5f)); contentPane.add(label10); label10.setBounds(new Rectangle(new Point(305, 205), label10.getPreferredSize())); contentPane.add(textField1); textField1.setBounds(130, 91, 90, 30); contentPane.add(textField2); textField2.setBounds(370, 91, 90, 30); //---- comboBox1 ---- comboBox1.setModel(new DefaultComboBoxModel<>(new String[] { "\u7537", "\u5973" })); contentPane.add(comboBox1); comboBox1.setBounds(new Rectangle(new Point(130, 141), comboBox1.getPreferredSize())); //---- comboBox2 ---- comboBox2.setModel(new DefaultComboBoxModel<>(new String[] { "\u5927\u4e00", "\u5927\u4e8c", "\u5927\u4e09", "\u5927\u56db" })); contentPane.add(comboBox2); comboBox2.setBounds(new Rectangle(new Point(130, 201), comboBox2.getPreferredSize())); //---- comboBox3 ---- comboBox3.setModel(new DefaultComboBoxModel<>(new String[] { "\u4f1a\u8ba1\u5b66\u9662", "\u827a\u672f\u4e0e\u4f20\u5a92\u5b66\u9662", "\u667a\u80fd\u91d1\u878d\u5b66\u9662", "\u667a\u80fd\u79d1\u6280\u5b66\u9662", "\u5de5\u7a0b\u4e0e\u6750\u6599\u5b66\u9662", "\u73b0\u4ee3\u670d\u52a1\u7ba1\u7406\u5b66\u9662", "\u5eb7\u517b\u62a4\u7406\u5b66\u9662", "\u56fd\u9645\u6559\u80b2\u5b66\u9662", "\u6587\u5316\u4e0e\u6559\u80b2\u5b66\u9662", "\u793e\u533a\u6cbb\u7406\u5b66\u9662", "\u4f53\u80b2\u5b66\u9662" })); contentPane.add(comboBox3); comboBox3.setBounds(new Rectangle(new Point(380, 201), comboBox3.getPreferredSize())); contentPane.add(textField3); textField3.setBounds(365, 141, 90, 30); //---- comboBox14 ---- comboBox14.setModel(new DefaultComboBoxModel<>(new String[] { "\u4e0d\u8fd1\u89c6", "100\u5ea6\u4ee5\u4e0b", "100\uff5e200\u5ea6", "200\uff5e300\u5ea6", "300\uff5e400\u5ea6", "400\uff5e500\u5ea6", "600\u5ea6\u4ee5\u4e0a" })); contentPane.add(comboBox14); comboBox14.setBounds(new Rectangle(new Point(250, 260), comboBox14.getPreferredSize())); //---- button1 ---- button1.setText("\u63d0\u4ea4"); button1.setFont(button1.getFont().deriveFont(button1.getFont().getSize() + 5f)); button1.addActionListener(e -> button1(e)); contentPane.add(button1); button1.setBounds(new Rectangle(new Point(430, 390), button1.getPreferredSize())); //---- comboBox15 ---- comboBox15.setModel(new DefaultComboBoxModel<>(new String[] { "\u4e0d\u8fd1\u89c6", "100\u5ea6\u4ee5\u4e0b", "100\uff5e200\u5ea6", "200\uff5e300\u5ea6", "300\uff5e400\u5ea6", "400\uff5e500\u5ea6", "600\u5ea6\u4ee5\u4e0a" })); contentPane.add(comboBox15); comboBox15.setBounds(250, 315, 121, 30); //---- label8 ---- label8.setText("\u5de6\u773c\uff1a"); label8.setFont(label8.getFont().deriveFont(label8.getFont().getSize() + 5f)); contentPane.add(label8); label8.setBounds(new Rectangle(new Point(175, 265), label8.getPreferredSize())); //---- label9 ---- label9.setText("\u53f3\u773c\uff1a"); label9.setFont(label9.getFont().deriveFont(label9.getFont().getSize() + 5f)); contentPane.add(label9); label9.setBounds(175, 310, 65, 35); contentPane.setPreferredSize(new Dimension(625, 480)); pack(); setLocationRelativeTo(getOwner()); // JFormDesigner - End of component initialization //GEN-END:initComponents @formatter:on } // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables @formatter:off private JLabel label1; private JLabel label2; private JLabel label3; private JLabel label4; private JLabel label5; private JLabel label6; private JLabel label7; private JLabel label10; private JTextField textField1; private JTextField textField2; private JComboBox<String> comboBox1; private JComboBox<String> comboBox2; private JComboBox<String> comboBox3; private JTextField textField3; private JComboBox<String> comboBox14; private JButton button1; private JComboBox<String> comboBox15; private JLabel label8; private JLabel label9; // JFormDesigner - End of variables declaration //GEN-END:variables @formatter:on } import java.awt.*; import java.awt.event.*; import java.io.FileWriter; import java.io.IOException; import javax.swing.*; /* * Created by JFormDesigner on Mon Jun 16 10:13:05 CST 2025 */ /** * @author 花间一壶酒 */ public class Fill extends JFrame { public Fill() { initComponents(); } private void button1(ActionEvent e) { // TODO add your code here String name = textField1.getText(); String id = textField2.getText(); String gender = comboBox1.getSelectedItem().toString(); String age = textField3.getText(); String grade =comboBox2.getSelectedItem().toString(); String college =comboBox3.getSelectedItem().toString(); //String degree =; String left =comboBox14.getSelectedItem().toString(); String right =comboBox15.getSelectedItem().toString(); String msg = name + "\t" + id + "\t" +gender + "\t" +age + "\t" +grade + "\t" +college + "\t" +left + "\t" +right + "\r\n"; String file = "D:\\西南财经大学天府学院近视调查.txt"; try { FileWriter fw = new FileWriter(file,true); fw.write(msg); fw.close(); }catch (IOException ex){ throw new RuntimeException(ex); } } private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents @formatter:off label1 = new JLabel(); label2 = new JLabel(); label3 = new JLabel(); label4 = new JLabel(); label5 = new JLabel(); label6 = new JLabel(); label7 = new JLabel(); label10 = new JLabel(); textField1 = new JTextField(); textField2 = new JTextField(); comboBox1 = new JComboBox<>(); comboBox2 = new JComboBox<>(); comboBox3 = new JComboBox<>(); textField3 = new JTextField(); comboBox14 = new JComboBox<>(); button1 = new JButton(); comboBox15 = new JComboBox<>(); label8 = new JLabel(); label9 = new JLabel(); //======== this ======== var contentPane = getContentPane(); contentPane.setLayout(null); //---- label1 ---- label1.setText("\u8fd1\u89c6\u8c03\u67e5\u95ee\u5377"); label1.setFont(label1.getFont().deriveFont(label1.getFont().getStyle() | Font.BOLD, label1.getFont().getSize() + 20f)); contentPane.add(label1); label1.setBounds(new Rectangle(new Point(195, 25), label1.getPreferredSize())); //---- label2 ---- label2.setText("\u59d3\u540d\uff1a"); label2.setFont(label2.getFont().deriveFont(label2.getFont().getStyle() & ~Font.ITALIC, label2.getFont().getSize() + 5f)); contentPane.add(label2); label2.setBounds(new Rectangle(new Point(70, 95), label2.getPreferredSize())); //---- label3 ---- label3.setText("\u5b66\u53f7\uff1a"); label3.setFont(label3.getFont().deriveFont(label3.getFont().getSize() + 5f)); contentPane.add(label3); label3.setBounds(new Rectangle(new Point(305, 95), label3.getPreferredSize())); //---- label4 ---- label4.setText("\u6027\u522b\uff1a"); label4.setFont(label4.getFont().deriveFont(label4.getFont().getSize() + 5f)); contentPane.add(label4); label4.setBounds(new Rectangle(new Point(70, 145), label4.getPreferredSize())); //---- label5 ---- label5.setText("\u5e74\u9f84\uff1a"); label5.setFont(label5.getFont().deriveFont(label5.getFont().getSize() + 5f)); contentPane.add(label5); label5.setBounds(305, 145, label5.getPreferredSize().width, 22); //---- label6 ---- label6.setText("\u5e74\u7ea7\uff1a"); label6.setFont(label6.getFont().deriveFont(label6.getFont().getSize() + 5f)); contentPane.add(label6); label6.setBounds(new Rectangle(new Point(70, 205), label6.getPreferredSize())); //---- label7 ---- label7.setText("\u8fd1\u89c6\u5ea6\u6570\uff1a"); label7.setFont(label7.getFont().deriveFont(label7.getFont().getSize() + 5f)); contentPane.add(label7); label7.setBounds(new Rectangle(new Point(70, 265), label7.getPreferredSize())); //---- label10 ---- label10.setText("\u5b66\u9662\uff1a"); label10.setFont(label10.getFont().deriveFont(label10.getFont().getSize() + 5f)); contentPane.add(label10); label10.setBounds(new Rectangle(new Point(305, 205), label10.getPreferredSize())); contentPane.add(textField1); textField1.setBounds(130, 91, 90, 30); contentPane.add(textField2); textField2.setBounds(370, 91, 90, 30); //---- comboBox1 ---- comboBox1.setModel(new DefaultComboBoxModel<>(new String[] { "\u7537", "\u5973" })); contentPane.add(comboBox1); comboBox1.setBounds(new Rectangle(new Point(130, 141), comboBox1.getPreferredSize())); //---- comboBox2 ---- comboBox2.setModel(new DefaultComboBoxModel<>(new String[] { "\u5927\u4e00", "\u5927\u4e8c", "\u5927\u4e09", "\u5927\u56db" })); contentPane.add(comboBox2); comboBox2.setBounds(new Rectangle(new Point(130, 201), comboBox2.getPreferredSize())); //---- comboBox3 ---- comboBox3.setModel(new DefaultComboBoxModel<>(new String[] { "\u4f1a\u8ba1\u5b66\u9662", "\u827a\u672f\u4e0e\u4f20\u5a92\u5b66\u9662", "\u667a\u80fd\u91d1\u878d\u5b66\u9662", "\u667a\u80fd\u79d1\u6280\u5b66\u9662", "\u5de5\u7a0b\u4e0e\u6750\u6599\u5b66\u9662", "\u73b0\u4ee3\u670d\u52a1\u7ba1\u7406\u5b66\u9662", "\u5eb7\u517b\u62a4\u7406\u5b66\u9662", "\u56fd\u9645\u6559\u80b2\u5b66\u9662", "\u6587\u5316\u4e0e\u6559\u80b2\u5b66\u9662", "\u793e\u533a\u6cbb\u7406\u5b66\u9662", "\u4f53\u80b2\u5b66\u9662" })); contentPane.add(comboBox3); comboBox3.setBounds(new Rectangle(new Point(380, 201), comboBox3.getPreferredSize())); contentPane.add(textField3); textField3.setBounds(365, 141, 90, 30); //---- comboBox14 ---- comboBox14.setModel(new DefaultComboBoxModel<>(new String[] { "\u4e0d\u8fd1\u89c6", "100\u5ea6\u4ee5\u4e0b", "100\uff5e200\u5ea6", "200\uff5e300\u5ea6", "300\uff5e400\u5ea6", "400\uff5e500\u5ea6", "600\u5ea6\u4ee5\u4e0a" })); contentPane.add(comboBox14); comboBox14.setBounds(new Rectangle(new Point(250, 260), comboBox14.getPreferredSize())); //---- button1 ---- button1.setText("\u63d0\u4ea4"); button1.setFont(button1.getFont().deriveFont(button1.getFont().getSize() + 5f)); button1.addActionListener(e -> button1(e)); contentPane.add(button1); button1.setBounds(new Rectangle(new Point(430, 390), button1.getPreferredSize())); //---- comboBox15 ---- comboBox15.setModel(new DefaultComboBoxModel<>(new String[] { "\u4e0d\u8fd1\u89c6", "100\u5ea6\u4ee5\u4e0b", "100\uff5e200\u5ea6", "200\uff5e300\u5ea6", "300\uff5e400\u5ea6", "400\uff5e500\u5ea6", "600\u5ea6\u4ee5\u4e0a" })); contentPane.add(comboBox15); comboBox15.setBounds(250, 315, 121, 30); //---- label8 ---- label8.setText("\u5de6\u773c\uff1a"); label8.setFont(label8.getFont().deriveFont(label8.getFont().getSize() + 5f)); contentPane.add(label8); label8.setBounds(new Rectangle(new Point(175, 265), label8.getPreferredSize())); //---- label9 ---- label9.setText("\u53f3\u773c\uff1a"); label9.setFont(label9.getFont().deriveFont(label9.getFont().getSize() + 5f)); contentPane.add(label9); label9.setBounds(175, 310, 65, 35); contentPane.setPreferredSize(new Dimension(625, 480)); pack(); setLocationRelativeTo(getOwner()); // JFormDesigner - End of component initialization //GEN-END:initComponents @formatter:on } // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables @formatter:off private JLabel label1; private JLabel label2; private JLabel label3; private JLabel label4; private JLabel label5; private JLabel label6; private JLabel label7; private JLabel label10; private JTextField textField1; private JTextField textField2; private JComboBox<String> comboBox1; private JComboBox<String> comboBox2; private JComboBox<String> comboBox3; private JTextField textField3; private JComboBox<String> comboBox14; private JButton button1; private JComboBox<String> comboBox15; private JLabel label8; private JLabel label9; // JFormDesigner - End of variables declaration //GEN-END:variables @formatter:on } import java.awt.*; import java.awt.event.*; import java.io.FileWriter; import java.io.IOException; import javax.swing.*; /* * Created by JFormDesigner on Mon Jun 16 10:13:05 CST 2025 */ /** * @author 花间一壶酒 */ public class Fill extends JFrame { public Fill() { initComponents(); } private void button1(ActionEvent e) { // TODO add your code here String name = textField1.getText(); String id = textField2.getText(); String gender = comboBox1.getSelectedItem().toString(); String age = textField3.getText(); String grade =comboBox2.getSelectedItem().toString(); String college =comboBox3.getSelectedItem().toString(); //String degree =; String left =comboBox14.getSelectedItem().toString(); String right =comboBox15.getSelectedItem().toString(); String msg = name + "\t" + id + "\t" +gender + "\t" +age + "\t" +grade + "\t" +college + "\t" +left + "\t" +right + "\r\n"; String file = "D:\\西南财经大学天府学院近视调查.txt"; try { FileWriter fw = new FileWriter(file,true); fw.write(msg); fw.close(); }catch (IOException ex){ throw new RuntimeException(ex); } } private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents @formatter:off label1 = new JLabel(); label2 = new JLabel(); label3 = new JLabel(); label4 = new JLabel(); label5 = new JLabel(); label6 = new JLabel(); label7 = new JLabel(); label10 = new JLabel(); textField1 = new JTextField(); textField2 = new JTextField(); comboBox1 = new JComboBox<>(); comboBox2 = new JComboBox<>(); comboBox3 = new JComboBox<>(); textField3 = new JTextField(); comboBox14 = new JComboBox<>(); button1 = new JButton(); comboBox15 = new JComboBox<>(); label8 = new JLabel(); label9 = new JLabel(); //======== this ======== var contentPane = getContentPane(); contentPane.setLayout(null); //---- label1 ---- label1.setText("\u8fd1\u89c6\u8c03\u67e5\u95ee\u5377"); label1.setFont(label1.getFont().deriveFont(label1.getFont().getStyle() | Font.BOLD, label1.getFont().getSize() + 20f)); contentPane.add(label1); label1.setBounds(new Rectangle(new Point(195, 25), label1.getPreferredSize())); //---- label2 ---- label2.setText("\u59d3\u540d\uff1a"); label2.setFont(label2.getFont().deriveFont(label2.getFont().getStyle() & ~Font.ITALIC, label2.getFont().getSize() + 5f)); contentPane.add(label2); label2.setBounds(new Rectangle(new Point(70, 95), label2.getPreferredSize())); //---- label3 ---- label3.setText("\u5b66\u53f7\uff1a"); label3.setFont(label3.getFont().deriveFont(label3.getFont().getSize() + 5f)); contentPane.add(label3); label3.setBounds(new Rectangle(new Point(305, 95), label3.getPreferredSize())); //---- label4 ---- label4.setText("\u6027\u522b\uff1a"); label4.setFont(label4.getFont().deriveFont(label4.getFont().getSize() + 5f)); contentPane.add(label4); label4.setBounds(new Rectangle(new Point(70, 145), label4.getPreferredSize())); //---- label5 ---- label5.setText("\u5e74\u9f84\uff1a"); label5.setFont(label5.getFont().deriveFont(label5.getFont().getSize() + 5f)); contentPane.add(label5); label5.setBounds(305, 145, label5.getPreferredSize().width, 22); //---- label6 ---- label6.setText("\u5e74\u7ea7\uff1a"); label6.setFont(label6.getFont().deriveFont(label6.getFont().getSize() + 5f)); contentPane.add(label6); label6.setBounds(new Rectangle(new Point(70, 205), label6.getPreferredSize())); //---- label7 ---- label7.setText("\u8fd1\u89c6\u5ea6\u6570\uff1a"); label7.setFont(label7.getFont().deriveFont(label7.getFont().getSize() + 5f)); contentPane.add(label7); label7.setBounds(new Rectangle(new Point(70, 265), label7.getPreferredSize())); //---- label10 ---- label10.setText("\u5b66\u9662\uff1a"); label10.setFont(label10.getFont().deriveFont(label10.getFont().getSize() + 5f)); contentPane.add(label10); label10.setBounds(new Rectangle(new Point(305, 205), label10.getPreferredSize())); contentPane.add(textField1); textField1.setBounds(130, 91, 90, 30); contentPane.add(textField2); textField2.setBounds(370, 91, 90, 30); //---- comboBox1 ---- comboBox1.setModel(new DefaultComboBoxModel<>(new String[] { "\u7537", "\u5973" })); contentPane.add(comboBox1); comboBox1.setBounds(new Rectangle(new Point(130, 141), comboBox1.getPreferredSize())); //---- comboBox2 ---- comboBox2.setModel(new DefaultComboBoxModel<>(new String[] { "\u5927\u4e00", "\u5927\u4e8c", "\u5927\u4e09", "\u5927\u56db" })); contentPane.add(comboBox2); comboBox2.setBounds(new Rectangle(new Point(130, 201), comboBox2.getPreferredSize())); //---- comboBox3 ---- comboBox3.setModel(new DefaultComboBoxModel<>(new String[] { "\u4f1a\u8ba1\u5b66\u9662", "\u827a\u672f\u4e0e\u4f20\u5a92\u5b66\u9662", "\u667a\u80fd\u91d1\u878d\u5b66\u9662", "\u667a\u80fd\u79d1\u6280\u5b66\u9662", "\u5de5\u7a0b\u4e0e\u6750\u6599\u5b66\u9662", "\u73b0\u4ee3\u670d\u52a1\u7ba1\u7406\u5b66\u9662", "\u5eb7\u517b\u62a4\u7406\u5b66\u9662", "\u56fd\u9645\u6559\u80b2\u5b66\u9662", "\u6587\u5316\u4e0e\u6559\u80b2\u5b66\u9662", "\u793e\u533a\u6cbb\u7406\u5b66\u9662", "\u4f53\u80b2\u5b66\u9662" })); contentPane.add(comboBox3); comboBox3.setBounds(new Rectangle(new Point(380, 201), comboBox3.getPreferredSize())); contentPane.add(textField3); textField3.setBounds(365, 141, 90, 30); //---- comboBox14 ---- comboBox14.setModel(new DefaultComboBoxModel<>(new String[] { "\u4e0d\u8fd1\u89c6", "100\u5ea6\u4ee5\u4e0b", "100\uff5e200\u5ea6", "200\uff5e300\u5ea6", "300\uff5e400\u5ea6", "400\uff5e500\u5ea6", "600\u5ea6\u4ee5\u4e0a" })); contentPane.add(comboBox14); comboBox14.setBounds(new Rectangle(new Point(250, 260), comboBox14.getPreferredSize())); //---- button1 ---- button1.setText("\u63d0\u4ea4"); button1.setFont(button1.getFont().deriveFont(button1.getFont().getSize() + 5f)); button1.addActionListener(e -> button1(e)); contentPane.add(button1); button1.setBounds(new Rectangle(new Point(430, 390), button1.getPreferredSize())); //---- comboBox15 ---- comboBox15.setModel(new DefaultComboBoxModel<>(new String[] { "\u4e0d\u8fd1\u89c6", "100\u5ea6\u4ee5\u4e0b", "100\uff5e200\u5ea6", "200\uff5e300\u5ea6", "300\uff5e400\u5ea6", "400\uff5e500\u5ea6", "600\u5ea6\u4ee5\u4e0a" })); contentPane.add(comboBox15); comboBox15.setBounds(250, 315, 121, 30); //---- label8 ---- label8.setText("\u5de6\u773c\uff1a"); label8.setFont(label8.getFont().deriveFont(label8.getFont().getSize() + 5f)); contentPane.add(label8); label8.setBounds(new Rectangle(new Point(175, 265), label8.getPreferredSize())); //---- label9 ---- label9.setText("\u53f3\u773c\uff1a"); label9.setFont(label9.getFont().deriveFont(label9.getFont().getSize() + 5f)); contentPane.add(label9); label9.setBounds(175, 310, 65, 35); contentPane.setPreferredSize(new Dimension(625, 480)); pack(); setLocationRelativeTo(getOwner()); // JFormDesigner - End of component initialization //GEN-END:initComponents @formatter:on } // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables @formatter:off private JLabel label1; private JLabel label2; private JLabel label3; private JLabel label4; private JLabel label5; private JLabel label6; private JLabel label7; private JLabel label10; private JTextField textField1; private JTextField textField2; private JComboBox<String> comboBox1; private JComboBox<String> comboBox2; private JComboBox<String> comboBox3; private JTextField textField3; private JComboBox<String> comboBox14; private JButton button1; private JComboBox<String> comboBox15; private JLabel label8; private JLabel label9; // JFormDesigner - End of variables declaration //GEN-END:variables @formatter:on } 接着用JFormDesigner做一个调查结果界面
06-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值