Java 图形用户界面,项目/操作侦听器不工作

Java 图形用户界面,项目/操作侦听器不工作,java,swing,user-interface,action,Java,Swing,User Interface,Action,我尤其对扩展下拉框有一个问题,在它被更改并且应用了“显示”操作按钮之后,它似乎没有更新图形输出。我不确定此下拉框是否需要操作或项目侦听器。 非常感谢您的帮助 import java.awt.*; import javax.swing.*; import java.awt.event.*; //Import event handler classes import java.awt.geom.*; // Geom packages public class Listric_gui extends

我尤其对扩展下拉框有一个问题,在它被更改并且应用了“显示”操作按钮之后,它似乎没有更新图形输出。我不确定此下拉框是否需要操作或项目侦听器。 非常感谢您的帮助

import java.awt.*;
import javax.swing.*;
import java.awt.event.*; //Import event handler classes
import java.awt.geom.*; // Geom packages

public class Listric_gui extends JFrame
    implements ActionListener, ItemListener {

    JPanel pane = new JPanel();
    JComboBox Extension;
    MyCanvas can1;
//Class Variables 
    static float[] x = new float[201];
    static float[] y = new float[201];
    static float[] y2 = new float[201];
    static float[] y3 = new float[201];
    static float[] y4 = new float[201];
    static float[] y5 = new float[201];
    static float[] hwd = new float[201];
//static float Dip = 0f;
    static int end = 200;
    static int i, e1;

    static int x_ending = 160, y_ending = 35, ticksize = 5;
    static float x_orig = 50f, y_orig = 50f, x_scale = 4f, y_scale = 5f, hwd_orig = 50f, hwd_scale = 5f;

    Listric_gui() {
        try {
            UIManager.setLookAndFeel(
                //"com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
                UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
            System.err.println("Can't set look and feel: " + e);
        }

        GridBagLayout gridbag = new GridBagLayout();
        GridBagConstraints constraints = new GridBagConstraints();
        pane.setLayout(gridbag);
        setBackground(Color.lightGray);

        //Title
        buildConstraints(constraints, 0, 0, 5, 1, 0, 10);
        constraints.fill = GridBagConstraints.BOTH;
        Font f = new Font("Helvetica", Font.BOLD, 22);
        JLabel label1 = new JLabel("Fault Modelling Program", JLabel.CENTER);
        label1.setFont(f);
        //label1.setBackground(Color.white);
        label1.setBackground(Color.red);
        gridbag.setConstraints(label1, constraints);
        pane.add(label1);

    //Initialise Button objects
        //File
        buildConstraints(constraints, 0, 1, 1, 1, 1, 10);
        constraints.fill = GridBagConstraints.BOTH;
        Font f1 = new Font("Helvetica", Font.BOLD, 14);
        JButton file = new JButton("File");
        gridbag.setConstraints(file, constraints);
        file.setFont(f1);
        pane.add(file);

        //Input
        buildConstraints(constraints, 1, 1, 1, 1, 1, 0);
        constraints.fill = GridBagConstraints.BOTH;
        //constraints.ipadx = 10;
        JButton input = new JButton("Input");
        gridbag.setConstraints(input, constraints);
        input.setFont(f1);
        pane.add(input);

        //Run
        buildConstraints(constraints, 2, 1, 1, 1, 1, 0);
        constraints.fill = GridBagConstraints.BOTH;
        JButton run = new JButton("Run");
        gridbag.setConstraints(run, constraints);
        run.setFont(f1);
        pane.add(run);

        //Display Button
        buildConstraints(constraints, 3, 1, 1, 1, 1, 0);
        constraints.fill = GridBagConstraints.BOTH;
        JButton display = new JButton("Display");
        gridbag.setConstraints(display, constraints);
        display.setFont(f1);
        pane.add(display);

        //Quit button
        buildConstraints(constraints, 4, 1, 1, 1, 1, 0);
        constraints.fill = GridBagConstraints.BOTH;
        JButton quit = new JButton("Quit");
        gridbag.setConstraints(quit, constraints);
        quit.setFont(f1);
        pane.add(quit);

    //Fault Geometry label 
        buildConstraints(constraints, 0, 2, 1, 1, 1, 10);
        constraints.fill = GridBagConstraints.NONE;
        constraints.anchor = GridBagConstraints.SOUTH;
        JLabel label2 = new JLabel("Fault Geometry", JLabel.CENTER);
        label2.setFont(f1);
        gridbag.setConstraints(label2, constraints);
        pane.add(label2);

    //Geometry - Listric
        buildConstraints(constraints, 0, 3, 1, 1, 1, 10);
        constraints.fill = GridBagConstraints.NONE;
        constraints.anchor = GridBagConstraints.NORTH;
        JCheckBox C1 = new JCheckBox("Listric");
        gridbag.setConstraints(C1, constraints);
        pane.add(C1);

        //Checkbox group define so that only one selected at time
        ButtonGroup bg = new ButtonGroup();
        bg.add(C1);

        //Extension Label
        buildConstraints(constraints, 0, 4, 1, 1, 1, 10);
        constraints.anchor = GridBagConstraints.SOUTH;
        JLabel label3 = new JLabel("Extension", JLabel.CENTER);
        label3.setFont(f1);
        gridbag.setConstraints(label3, constraints);
        pane.add(label3);

        //Extension Choice
        buildConstraints(constraints, 0, 5, 1, 1, 1, 10);
        constraints.fill = GridBagConstraints.NONE;
        constraints.anchor = GridBagConstraints.NORTH;
        JComboBox Extension = new JComboBox();
        Extension.addItem("-5 km");
        Extension.addItem("-2 km");
        Extension.addItem("0 km");
        Extension.addItem("5 km");
        Extension.addItem("10 km");
        Extension.addItem("15 km");
        Extension.addItem("20 km");
        Extension.addItem("25 km");
        Extension.addItem("30 km");
        gridbag.setConstraints(Extension, constraints);
        pane.add(Extension);

        //Num. of faults Label
        buildConstraints(constraints, 0, 6, 1, 1, 1, 10);
        constraints.anchor = GridBagConstraints.SOUTH;
        JLabel label4 = new JLabel("Number of Faults", JLabel.CENTER);
        label4.setFont(f1);
        gridbag.setConstraints(label4, constraints);
        pane.add(label4);

        //Num. of faults Choice
        buildConstraints(constraints, 0, 7, 1, 1, 1, 10);
        constraints.fill = GridBagConstraints.NONE;
        constraints.anchor = GridBagConstraints.NORTH;
        JComboBox FaultNum = new JComboBox();
        FaultNum.addItem("1");
        FaultNum.addItem("2");
        FaultNum.addItem("3");
        FaultNum.addItem("4");
        FaultNum.addItem("5");
        gridbag.setConstraints(FaultNum, constraints);
        pane.add(FaultNum);

        //Draw Canvas
        buildConstraints(constraints, 1, 2, 4, 5, 0, 0);
        constraints.fill = GridBagConstraints.BOTH;
        MyCanvas can2 = new MyCanvas(); // paint method in seperate class
        gridbag.setConstraints(can2, constraints);
        can2.setBackground(Color.white);
        pane.add(can2);

        //Add all event listeners to components
        display.addActionListener(this);
        quit.addActionListener(this);
        Extension.addActionListener(this);
        FaultNum.addItemListener(this);
        setContentPane(pane);
    }
//Define main block

    public static void main(String args[]) {
        JFrame frame = new Listric_gui();
        //Method to exit
        WindowListener l = new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        };
        frame.addWindowListener(l);
        frame.setSize(1600, 600);
    //frame.pack();
        //frame.revalidate();
        frame.repaint();
        frame.setVisible(true);
    }

    static void buildConstraints(GridBagConstraints gbc, int gx, int gy, int gw, int gh, int wx, int wy) {
        gbc.gridx = gx;
        gbc.gridy = gy;
        gbc.gridwidth = gw;
        gbc.gridheight = gh;
        gbc.weightx = wx;
        gbc.weighty = wy;
    }

    public Insets getInsets() {
        return new Insets(10, 10, 10, 10);
    }

//declare actionlistener method
    public void actionPerformed(ActionEvent ae) {
        String label = ae.getActionCommand();
        if (label == "Display") {
            Modelling m1 = new Modelling();
            can1 = new MyCanvas();
            pane.add(can1);
            setContentPane(pane);
        } else if (label == "Quit") {
            System.exit(0);
        }
    }

    public void itemStateChanged(ItemEvent evt) {
        if (evt.getSource() == Extension) {
            String s = (String) evt.getItem();
            if (s == "-5 km") {
                e1 = (int) -5f;
            }
            if (s == "-2 km") {
                e1 = (int) -2f;
            }
            if (s == "0 km") {
                e1 = (int) 0f;
            } else if (s == "5 km") {
                e1 = (int) 5f;
            } else if (s == "10 km") {
                e1 = (int) 10f;
            } else if (s == "15 km") {
                e1 = (int) 15f;
            } else if (s == "20 km") {
                e1 = (int) 20f;
            } else if (s == "25 km") {
                e1 = (int) 25f;
            } else if (s == "30 km") {
                e1 = (int) 30f;
            }
        }
    }

//End of controlling class
//Class for modelling fault
    class Modelling {

        Modelling() {
            calc();
        }

        private void calc() {
            float Sum1, Sum2, Sum3, Sum4; //Initialise variables
            float A = 30f;
            float B = 50f;
            float C = -1f;
            float Zd = 20f;
//float x0 = 60f;
            float D = 1f;
            float E = 70f;
            float F = 90f;
            float G = 110f;
            int k, nflt;
            //Loop for calculating fault 1 coordinates
            for (k = 0; k <= Listric_gui.x_ending; k++) {
                Listric_gui.x[k] = (float) k;
                Sum1 = (Listric_gui.x[k] - A);
                Sum2 = ((Sum1 / Zd) * C);
                Sum3 = D - ((float) Math.exp(Sum2));
                Sum4 = (A * Sum3);
                Listric_gui.y[k] = Sum4;
                if (Listric_gui.x[k] <= 30) {
                    Listric_gui.y[k] = 0;
                }

                //Fault 2
                Listric_gui.y2[k] = (A * (D - ((float) Math.exp((((Listric_gui.x[k] - B) / Zd) * C)))));
                if (Listric_gui.x[k] <= 50) {
                    Listric_gui.y2[k] = 0;
                }
                //Fault 3
                Listric_gui.y3[k] = (A * (D - ((float) Math.exp((((Listric_gui.x[k] - E) / Zd) * C)))));
                if (Listric_gui.x[k] <= 70) {
                    Listric_gui.y3[k] = 0;
                }
                //Fault 4
                Listric_gui.y4[k] = (A * (D - ((float) Math.exp((((Listric_gui.x[k] - F) / Zd) * C)))));
                if (Listric_gui.x[k] <= 90) {
                    Listric_gui.y4[k] = 0;
                }
                //Fault 5
                Listric_gui.y5[k] = (A * (D - ((float) Math.exp((((Listric_gui.x[k] - G) / Zd) * C)))));
                if (Listric_gui.x[k] <= 110) {
                    Listric_gui.y5[k] = 0;
                }

                System.out.println("x = " + Listric_gui.x[k] + " y = " + Listric_gui.y[k] + "y2 = " + Listric_gui.y2[k] + "y3 = " + Listric_gui.y3[k] + "y4 = " + Listric_gui.y4[k] + "y5 = " + Listric_gui.y5[k]);
            }
        //Loop for calculating hangingwall deformation

        //Initialise Variables
            Listric_gui.hwd[k] = (float) k;
            Listric_gui.e1 = 30;
            for (k = 0; k <= Listric_gui.x_ending; k++) {
                Listric_gui.hwd[k] = 0f;
                if (Listric_gui.x[k] > 30) {
                    Listric_gui.hwd[k] = Listric_gui.y[k] - Listric_gui.y[k - Listric_gui.e1];
                }
            }
            //Fault modification
            for (k = 0; k <= Listric_gui.x_ending; k++) {
                //for (nflt=2; nflt<=2;nflt++){
                Listric_gui.y2[k] = Listric_gui.y2[k] + Listric_gui.hwd[k];
                Listric_gui.y3[k] = Listric_gui.y3[k] + Listric_gui.hwd[k];
                Listric_gui.y4[k] = Listric_gui.y4[k] + Listric_gui.hwd[k];
                Listric_gui.y5[k] = Listric_gui.y5[k] + Listric_gui.hwd[k];
                //}
            }

//System.out.println("x = " + x[k] + " hwd = "+ hwd [k]);
        }
    }

//Listener Method
//draw Class
    class MyCanvas extends JPanel {

        int k, i;

        public void paintComponent(Graphics screen) {
            super.paintComponent(screen);
            Graphics2D screen2D = (Graphics2D) screen;

            screen2D.setColor(Color.red);
            GeneralPath ln = new GeneralPath();
            ln.moveTo(Listric_gui.x_orig, Listric_gui.y_orig);
            for (k = 0; k < Listric_gui.x_ending; k++) {
                ln.lineTo((Listric_gui.x[k] * Listric_gui.x_scale) + Listric_gui.x_orig, (Listric_gui.y_orig + (Listric_gui.y[k] * Listric_gui.y_scale)));
                //ln.closePath();
                screen2D.draw(ln);
            }
            GeneralPath ln2 = new GeneralPath();
            ln2.moveTo(Listric_gui.x_orig, Listric_gui.hwd_orig);
            for (k = 0; k < Listric_gui.x_ending; k++) {
                ln2.lineTo((Listric_gui.x[k] * Listric_gui.x_scale) + Listric_gui.x_orig, (Listric_gui.y_orig + (Listric_gui.hwd[k] * Listric_gui.hwd_scale)));
                //ln2.closePath();
                screen2D.draw(ln2);
            }
            //Plot fault profile graphically
            GeneralPath ln3 = new GeneralPath();
            ln3.moveTo(Listric_gui.x_orig, Listric_gui.hwd_orig);
            for (k = 0; k < Listric_gui.x_ending; k++) {
                ln3.lineTo((Listric_gui.x[k] * Listric_gui.x_scale) + Listric_gui.x_orig, (Listric_gui.y_orig + (Listric_gui.y2[k] * Listric_gui.hwd_scale)));
                //ln3.closePath();
                screen2D.draw(ln3);
            }

            GeneralPath ln4 = new GeneralPath();
            ln4.moveTo(Listric_gui.x_orig, Listric_gui.hwd_orig);
            for (k = 0; k < Listric_gui.x_ending; k++) {
                ln4.lineTo((Listric_gui.x[k] * Listric_gui.x_scale) + Listric_gui.x_orig, (Listric_gui.y_orig + (Listric_gui.y3[k] * Listric_gui.hwd_scale)));
                //ln4.closePath();
                screen2D.draw(ln4);
            }

            GeneralPath ln5 = new GeneralPath();
            ln5.moveTo(Listric_gui.x_orig, Listric_gui.hwd_orig);
            for (k = 0; k < Listric_gui.x_ending; k++) {
                ln5.lineTo((Listric_gui.x[k] * Listric_gui.x_scale) + Listric_gui.x_orig, (Listric_gui.y_orig + (Listric_gui.y4[k] * Listric_gui.hwd_scale)));
                //ln5.closePath();
                screen2D.draw(ln5);
            }

            GeneralPath ln6 = new GeneralPath();
            ln6.moveTo(Listric_gui.x_orig, Listric_gui.hwd_orig);
            for (k = 0; k < Listric_gui.x_ending; k++) {
                ln6.lineTo((Listric_gui.x[k] * Listric_gui.x_scale) + Listric_gui.x_orig, (Listric_gui.y_orig + (Listric_gui.y5[k] * Listric_gui.hwd_scale)));
                //ln6.closePath();
                screen2D.draw(ln6);
            }

//x axis
            BasicStroke xpen = new BasicStroke(2f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND);
            screen2D.setStroke(xpen);
            screen2D.setFont(new Font("Serif", Font.PLAIN, 11));
            screen2D.setColor(Color.black);
            GeneralPath xaxis = new GeneralPath();
            xaxis.moveTo(Listric_gui.x_orig, (Listric_gui.y_orig + (Listric_gui.y_ending * Listric_gui.y_scale)));
            xaxis.lineTo((Listric_gui.x_orig + (Listric_gui.x_ending * Listric_gui.x_scale)), (Listric_gui.y_orig + (Listric_gui.y_ending * Listric_gui.y_scale)));
            for (i = 0; i <= (Listric_gui.x_ending); i = i + 20) {
                Line2D.Float ticks = new Line2D.Float(((i * Listric_gui.x_scale) + Listric_gui.x_orig), ((Listric_gui.y_orig) + (Listric_gui.y_ending * Listric_gui.y_scale)), ((i * Listric_gui.x_scale) + Listric_gui.x_orig), ((Listric_gui.y_orig + Listric_gui.ticksize) + (Listric_gui.y_ending * Listric_gui.y_scale)));
                screen2D.draw(ticks);
                screen2D.drawString("" + i, ((i * Listric_gui.x_scale) + Listric_gui.x_orig), ((Listric_gui.y_orig) + (Listric_gui.y_ending * Listric_gui.y_scale)) + 20);
            }

//y axis
            BasicStroke ypen = new BasicStroke(2f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND);
            screen2D.setStroke(ypen);
            screen2D.setFont(new Font("Serif", Font.PLAIN, 11));
            screen2D.setColor(Color.black);
            GeneralPath yaxis = new GeneralPath();
            yaxis.moveTo(Listric_gui.x_orig, Listric_gui.y_orig);
            yaxis.lineTo(Listric_gui.x_orig, (Listric_gui.y_orig + (Listric_gui.y_ending * Listric_gui.y_scale)));
            screen2D.draw(yaxis);
            for (i = 0; i <= Listric_gui.y_ending; i = i + 5) {
                screen2D.drawString("" + i, ((Listric_gui.x_orig)) - 15, (Listric_gui.y_orig + (i * Listric_gui.y_scale)));
                Line2D.Float yticks = new Line2D.Float(((Listric_gui.x_orig)), (Listric_gui.y_orig + (i * Listric_gui.y_scale)), (((Listric_gui.x_orig + Listric_gui.ticksize))), (Listric_gui.y_orig + (i * Listric_gui.y_scale)));
                screen2D.draw(yticks);
            }

//Y axis label
            screen2D.setFont(new Font("Serif", Font.PLAIN, 14));
            screen2D.draw(xaxis);
            AffineTransform orig = screen2D.getTransform();

            screen2D.drawString("Depth(km)", Listric_gui.x_orig - 20, Listric_gui.y_orig - 20);
            screen2D.rotate(-Math.PI / 2);
            screen2D.setTransform(orig);

//X axis label
            screen2D.setFont(new Font("Serif", Font.PLAIN, 14));
            screen2D.drawString("Distance (km)", Listric_gui.x_orig + (Listric_gui.x_ending * Listric_gui.x_scale / 2), Listric_gui.y_orig + (Listric_gui.y_ending * Listric_gui.y_scale) + 40);

//Values
            screen2D.setFont(new Font("Serif", Font.PLAIN, 10));
            screen2D.setColor(Color.red);
            int y_val = 25;
            for (k = 0; k <= 160; k = k + 5) {
                screen2D.drawString(" X = " + String.valueOf(Listric_gui.x[k]) + " Y = " + String.valueOf(Listric_gui.y[k]), (Listric_gui.x_orig + (Listric_gui.x_ending * Listric_gui.x_scale) + 35), y_val);
                y_val = y_val + 10;
            }
//print screen for hwd values
            int y_val2 = 25;
            for (k = 0; k <= 160; k = k + 5) {
                screen2D.drawString("X = " + String.valueOf(Listric_gui.x[k]) + " Hwd = " + String.valueOf(Listric_gui.hwd[k]), (Listric_gui.x_orig + (Listric_gui.x_ending * Listric_gui.x_scale) + 155), y_val2);
                y_val2 = y_val2 + 10;
            }
//Title
            screen2D.setColor(Color.black);
            Font f1 = new Font("Helvetica", Font.BOLD, 24);
            screen2D.setFont(f1);
            screen2D.drawString("LISTRIC FAULT", (Listric_gui.x_ending * Listric_gui.x_scale / 2) + Listric_gui.x_orig, (Listric_gui.y_orig - 10));
        }
    }
}
import java.awt.*;
导入javax.swing.*;
导入java.awt.event.*//导入事件处理程序类
导入java.awt.geom.*;//Geom软件包
公共类Listric_gui扩展JFrame
实现ActionListener、ItemListener{
JPanel窗格=新的JPanel();
JComboBox扩展;
我的画布can1;
//类变量
静态浮点[]x=新浮点[201];
静态浮点[]y=新浮点[201];
静态浮点[]y2=新浮点[201];
静态浮动[]y3=新浮动[201];
静态浮动[]y4=新浮动[201];
静态浮动[]y5=新浮动[201];
静态浮动[]hwd=新浮动[201];
//静态浮动倾角=0f;
静态int end=200;
静态intⅠ,e1;
静态int x_end=160,y_end=35,ticksize=5;
静态浮动x_原点=50f,y_原点=50f,x_标尺=4f,y_标尺=5f,hwd_原点=50f,hwd_标尺=5f;
(){
试一试{
UIManager.setLookAndFeel(
//“com.sun.java.swing.plaf.windows.WindowsLookAndFeel”);
UIManager.getSystemLookAndFeelClassName());
}捕获(例外e){
System.err.println(“无法设置外观:+e”);
}
GridBagLayout gridbag=新的GridBagLayout();
GridBagConstraints=新的GridBagConstraints();
窗格。设置布局(网格袋);
挫折背景(颜色:浅灰色);
//头衔
构建约束(约束,0,0,5,1,0,10);
constraints.fill=gridbagsconstraints.BOTH;
Font f=新字体(“Helvetica”,Font.BOLD,22);
JLabel label1=新的JLabel(“故障建模程序”,JLabel.CENTER);
标签1.设置字体(f);
//标签1.挫折背景(颜色:白色);
标签1.挫折背景(颜色:红色);
setConstraints(标签1,约束);
窗格。添加(标签1);
//初始化按钮对象
//文件
构建约束(约束,0,1,1,1,1,10);
constraints.fill=gridbagsconstraints.BOTH;
字体f1=新字体(“Helvetica”,Font.BOLD,14);
JButton file=新JButton(“文件”);
setConstraints(文件、约束);
setFont文件(f1);
添加(文件);
//输入
构建约束(约束,1,1,1,1,1,0);
constraints.fill=gridbagsconstraints.BOTH;
//constraints.ipadx=10;
JButton输入=新JButton(“输入”);
设置约束(输入,约束);
输入.setFont(f1);
窗格。添加(输入);
//跑
构建约束(约束,2,1,1,1,0);
constraints.fill=gridbagsconstraints.BOTH;
JButton run=新JButton(“run”);
setConstraints(运行,约束);
run.setFont(f1);
窗格。添加(运行);
//显示按钮
构建约束(约束,3,1,1,1,0);
constraints.fill=gridbagsconstraints.BOTH;
JButton display=新JButton(“display”);
设置约束(显示、约束);
display.setFont(f1);
窗格。添加(显示);
//退出按钮
构建约束(约束,4,1,1,1,0);
constraints.fill=gridbagsconstraints.BOTH;
JButton quit=新JButton(“quit”);
setConstraints(退出,约束);
quit.setFont(f1);
窗格。添加(退出);
//断层几何标志
构建约束(约束,0、2、1、1、1、10);
constraints.fill=gridbagsconstraints.NONE;
constraints.anchor=gridbagsconstraints.SOUTH;
JLabel label2=新的JLabel(“断层几何学”,JLabel.CENTER);
label2.setFont(f1);
setConstraints(label2,constraints);
窗格。添加(标签2);
//几何-铲式
构建约束(约束,0,3,1,1,1,10);
constraints.fill=gridbagsconstraints.NONE;
constraints.anchor=gridbagsconstraints.NORTH;
JCheckBox C1=新的JCheckBox(“列表”);
设置约束(C1,约束);
窗格.添加(C1);
//复选框组定义,以便一次只选择一个
ButtonGroup bg=新建ButtonGroup();
bg.add(C1);
//扩展标签
构建约束(约束,0,4,1,1,1,10);
constraints.anchor=gridbagsconstraints.SOUTH;
JLabel label3=新的JLabel(“扩展”,JLabel.CENTER);
label3.setFont(f1);
setConstraints(标签3,约束);
窗格。添加(标签3);
//扩展选择
构建约束(约束,0,5,1,1,1,10);
constraints.fill=gridbagsconstraints.NONE;
constraints.anchor=gridbagsconstraints.NORTH;
JComboBox扩展=新的JComboBox();
扩建部分(“5公里”);
扩建部分(“2公里”);
扩建部分(0公里);
扩建部分(“5公里”);
扩建工程(10公里);
扩建工程(15公里);
扩建项目(“20公里”);
扩建部分(“25公里”);
扩建部分(“30公里”);
setConstraints(扩展、约束);
窗格。添加(扩展);
//故障数标签
构建约束(约束,0,6,1,1,1,10);
constraints.anchor=gridbagsconstraints.SOUTH;
JLabel label4=新的JLabel(“故障数”,JLabel.CENTER);
label4.setFont(f1);
setConstraints(label4,constraints);
窗格。添加(标签4);
//故障数选择
构建约束(约束,0,7,1,1,1,10);
constraints.fill=gridbagsconstraints.NONE;
constraints.anchor=gridbagsconstraints.NORTH;
JComboBox FaultNum=新的JComboBox();