Немогу разобраться в программе нужно пожалуйста чуть чуть дописать её! - Java

Узнай цену своей работы

Формулировка задачи:

Уже вроде все написал.И должно работать!! Но не хочет рисовать незнаю почему, если кто нибудь исправит и все выше описанное заработает буду НУ ОЧЕНЬ БЛАГОДАРЕН. Немогу понять где я ошибся....На экран должны выводится некоторое количество кнопок с подсчетом процентной ставки. вот код:
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.awt.image.BufferedImageOp;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
 
import javax.swing.ComboBoxModel;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
import javax.swing.event.ListDataListener;
 
//import regex.ComboBoxFrame;
import javax.imageio.*;
 
class ComboBoxFrame extends JFrame {
        //protected Graphics g2;
                
public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
        public void run() {
                    try {
                        new ComboBoxFrame();
                    } catch (IOException ex) {
                        Logger.getLogger(ComboBoxFrame.class.getName()).log(Level.SEVERE, null, ex);
                    }
         }});}
 
        public ComboBoxFrame() throws IOException {
                    JFrame frame = new JFrame("Test frame");
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("ComboBox");
        setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
        JTextField tf1, tf2;
        tf1 = new JTextField(10);
        tf2 = new JTextField(10);
        //String str = "fd";
        JLabel label1 = new JLabel();
        JPanel jpanel = new JPanel();
        //BufferedImage image = ImageIO.read(new File("путь к картинке"));
        JLabel label = new JLabel();
        jpanel.add(label);
        JLabel label2 = new JLabel();
        JLabel label3 = new JLabel("Цена");
        JLabel label4 = new JLabel("Тип жилья:");
        JButton but = new JButton("Обновить");
        JLabel label5 = new JLabel();
        
        JPanel comboPanel = new JPanel();
        //label  = new JLabel();
        //add(label, BorderLayout.CENTER);
        JPanel comboPanel2 = new JPanel();
        JPanel comboPanel3 = new JPanel();
        
        //Label left = new LabelC'Left", LabeLLEFT); 
        
        JComboBox faceCombo1 = new JComboBox();
        faceCombo1.setEditable(false);
        //faceCombo.addItem("1");
        faceCombo1.addItem("       Сотрудник  ");
        faceCombo1.addItem("       Клиент    ");
        JComboBox faceCombo2 = new JComboBox();
        faceCombo2.setEditable(false);
        //faceCombo.addItem("1");
        faceCombo2.addItem("       20-30   ");
        faceCombo2.addItem("       30-45   ");
        faceCombo2.addItem("       45-60   ");
        JComboBox faceCombo3 = new JComboBox();
        faceCombo3.setEditable(false);
        //faceCombo.addItem("1");
        faceCombo3.addItem("       обычное жилье   ");
        faceCombo3.addItem("       несданное жилье   ");
        faceCombo3.addItem("       жилье с рисками   ");
 
        faceCombo1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event) {
                switch((String)faceCombo1.getSelectedItem()){
                case "       Сотрудник  ":
                    //System.out.println("16.5");
                    //Object selectedObject = faceCombo.getSelectedItem();
                    procent = 12.0;
                    label1.setText("Процентная ставка: "+procent + "%\n");
                    
                    faceCombo2.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent event) {
                            switch((String)faceCombo2.getSelectedItem()){
                            case "       20-30   " :
                                procent2 = procent + 3;
                            label1.setText("Процентная ставка: "+ procent2 + "%\n");
                            faceCombo3.addActionListener(new ActionListener() {
                                public void actionPerformed(ActionEvent event) {
                                    switch((String)faceCombo3.getSelectedItem()){
                                    case "       обычное жилье   " :
                                        procent3 = procent2;
                                    label1.setText("Процентная ставка: "+ procent3 + "%\n");
                                        break;
                                    case "       несданное жилье   ":
                                        procent3 = procent2 + 1;
                                        label1.setText("Процентная ставка: "+procent3+"%\n");
                                        break;
                                case "       жилье с рисками   ":
                                    procent3 = procent2 + 2 ;
                                    label1.setText("Процентная ставка: "+procent3+"%\n");break; }}});   
                                break;
                            case "       30-45   ":
                                procent2 = procent + 5;
                                label1.setText("Процентная ставка: "+procent2+"%\n");
                                 
                                faceCombo3.addActionListener(new ActionListener() {
                                    public void actionPerformed(ActionEvent event) {
                                        
                                        switch((String)faceCombo3.getSelectedItem()){
                                        case "       обычное жилье   " :
                                       procent3 = procent2;
                                        label1.setText("Процентная ставка: "+ procent3 + "%\n");  break;
                                        case "       несданное жилье   ":
                                            procent3 = procent2 + 1;
                                            label1.setText("Процентная ставка: "+procent3+"%\n");
                                            
                                            break;
                                    case "       жилье с рисками   ":
                                        procent3 = procent2 + 2 ;
                                        label1.setText("Процентная ставка: "+procent3+"%\n");
                                    break;  }}}); break;    
                            
                        case "       45-60   ":
                            procent2 = procent + 10;
                            label1.setText("Процентная ставка: "+procent2+"%\n");
                            
                            faceCombo3.addActionListener(new ActionListener() {
                                public void actionPerformed(ActionEvent event) {
                                    
                                    switch((String)faceCombo3.getSelectedItem()){
                                    case "       обычное жилье   " :
                                   procent3 = procent2;
                                    label1.setText("Процентная ставка: "+ procent3 + "%\n");  break;
                                    case "       несданное жилье   ":
                                        procent3 = procent2 + 1;
                                        label1.setText("Процентная ставка: "+procent3+"%\n");
                                        
                                        break;
                                case "       жилье с рисками   ":
                                    procent3 = procent2 + 2 ;
                                    label1.setText("Процентная ставка: "+procent3+"%\n");
                                break;  }}});
                            
                        break;
                            }}});
                    break;
                case "       Клиент    ":
                    procent = 13.5;
                    label1.setText("Процентная ставка: "+procent + "%\n");

                    faceCombo2.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent event) {
                            
                            switch((String)faceCombo2.getSelectedItem()){
                            case "       20-30   " :
                                procent2 = procent + 3;
                                
                            label1.setText("Процентная ставка: "+procent2 + "%\n");
                           
                            faceCombo3.addActionListener(new ActionListener() {
                                public void actionPerformed(ActionEvent event) {
                                    
                                    switch((String)faceCombo3.getSelectedItem()){
                                    case "       обычное жилье   " :
                                   procent3 = procent2;
                                    label1.setText("Процентная ставка: "+ procent3 + "%\n");  break;
                                    case "       несданное жилье   ":
                                        procent3 = procent2 + 1;
                                        label1.setText("Процентная ставка: "+procent3+"%\n");
                                        
                                        break;
                                case "       жилье с рисками   ":
                                    procent3 = procent2 + 2 ;
                                    label1.setText("Процентная ставка: "+procent3+"%\n");
                                break;  }}});
                                break;
                            
                            case "       30-45   ":
                                procent2 = procent + 5;
                                label1.setText("Процентная ставка: "+procent2+"%\n");
                                //procent = procent -5;
                                faceCombo3.addActionListener(new ActionListener() {
                                    public void actionPerformed(ActionEvent event) {
                                        
                                        switch((String)faceCombo3.getSelectedItem()){
                                        case "       обычное жилье   " :
                                       procent3 = procent2;
                                        label1.setText("Процентная ставка: "+ procent3 + "%\n");  break;
                                        case "       несданное жилье   ":
                                            procent3 = procent2 + 1;
                                            label1.setText("Процентная ставка: "+procent3+"%\n");
                                            
                                            break;
                                    case "       жилье с рисками   ":
                                        procent3 = procent2 + 2 ;
                                        label1.setText("Процентная ставка: "+procent3+"%\n");
                                    break;  }}});   
                                break;
                        case "       45-60   ":
                            procent2 = procent + 10;
                            label1.setText("Процентная ставка: "+procent2+"%\n");
                            //procent = procent - 10;
                            faceCombo3.addActionListener(new ActionListener() {
                                public void actionPerformed(ActionEvent event) {
                                    
                                    switch((String)faceCombo3.getSelectedItem()){
                                    case "       обычное жилье   " :
                                   procent3 = procent2;
                                    label1.setText("Процентная ставка: "+ procent3 + "%\n");  break;
                                    case "       несданное жилье   ":
                                        procent3 = procent2 + 1;
                                        label1.setText("Процентная ставка: "+procent3+"%\n");
                                        
                                        break;
                                case "       жилье с рисками   ":
                                    procent3 = procent2 + 2 ;
                                    label1.setText("Процентная ставка: "+procent3+"%\n");
                                break;  }}});
                        break;  }

                        }});

                    break; 
                }

            }
            });

        tf1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event) {
                
                p = tf1.getText();
                p1=Integer.parseInt(p);
                
                label2.setText("\nЦена: "+p1+"$");
                            }});
        
        but.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent event) {
                
                procent = 0;
                
                label1.setText("\n Процентная ставка "+procent+"%");
                            }});
        
        //comboPanel.add(faceCombo);
        //but.setSize(70, 25);

        comboPanel.add(faceCombo1, BorderLayout.NORTH);
        comboPanel.add(faceCombo2, BorderLayout.NORTH);
        comboPanel.add(faceCombo3, BorderLayout.NORTH);
        //comboPanel.add(label3);
    
    //  comboPanel.add(tf1);
        //comboPanel.add(label4);
        //comboPanel.add(tf2);
        
        //comboPanel.add(label);
        //faceCombo.setBounds(5, 5, 85, 30);
        label2.setBounds(20, 20, 70, 25);
        comboPanel2.add(label1, BorderLayout.WEST);
    comboPanel3.add(label2,BorderLayout.CENTER);
    comboPanel3.add(label5,BorderLayout.CENTER);
        comboPanel.add(but,BorderLayout.NORTH);
        add(comboPanel,BorderLayout.NORTH);
        add(comboPanel2,BorderLayout.WEST);
        add(comboPanel3,BorderLayout.CENTER);
        //add(faceCombo);
        
        }
        
        public static final int DEFAULT_WIDTH = 725;
        public static final int DEFAULT_HEIGHT = 700;
        private JComboBox faceCombo1;
        private JComboBox faceCombo2;
        //private JLabel label;
        private String p;
        private int p1; 
        private JLabel label1;
        private JLabel label2;
        private double procent, procent2,procent3, k1=2,k2,k3,k4;
        private JButton but;
        private int x = 0;
        private int y = 0;
        private int dX = -1; 
        private int dY = -1; 
        private static final int DEFAULT_SIZE = 12;
}

Решение задачи: «Немогу разобраться в программе нужно пожалуйста чуть чуть дописать её!»

textual
Листинг программы
  setVisible(true);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы