Удаление другого JComponent при изменении элемента JComboBox - PullRequest
0 голосов
/ 15 февраля 2019

Я хочу удалить labell10 и поле со списком - level, когда я перехожу из пункта программирования в поле со списком category.Я уже сделал подобное кодирование, и они работают.Но в этом случае формы остаются нижними частями l10 и level.Я просто хочу отобразить JTextField agegroup и изменить текст l8 на возрастную группу, когда элемент искусства книги выбран в категории со списком.Точно так же l8 должен быть языком, а поле со списком slanguage должно отображаться, а текстовое поле agegroup должно быть удалено, когда категория является сборником рассказов.Также необходимо ввести текстовое поле planguage и уровень поля со списком, если категория является блоком программирования.А при переходе из одной категории в другую предыдущие отображаемые элементы должны быть удалены.

public static void add() {
        JFrame f1 = new JFrame();
        JLabel l1 = new JLabel("Add Book");
        l1.setBounds(10, 10, 400, 25);
        Font f = new Font("TimesRoman", Font.BOLD, 25);
        l1.setFont(f);
        f1.setSize(475, 700);
        f1.setVisible(true);
        f1.setLayout(null);
        f1.add(l1);
        JLabel l2 = new JLabel("Referance Number:");
        l2.setBounds(10, 45, 300, 25);
        f1.add(l2);
        JTextField RNo = new JTextField();
        RNo.setBounds(130, 45, 200, 25);
        f1.add(RNo);
        JLabel l3 = new JLabel("Title :");
        l3.setBounds(10, 80, 350, 25);
        f1.add(l3);
        JTextField Title = new JTextField();
        Title.setBounds(130, 80, 300, 25);
        f1.add(Title);
        JLabel l4 = new JLabel("Actual unit price:");
        l4.setBounds(10, 115, 100, 25);
        f1.add(l4);
        JTextField AUPrice = new JTextField();
        AUPrice.setBounds(130, 115, 60, 25);
        f1.add(AUPrice);
        JLabel l5 = new JLabel("QTY:");
        l5.setBounds(230, 115, 60, 25);
        f1.add(l5);
        JTextField QTY = new JTextField();
        QTY.setBounds(300, 115, 60, 25);
        f1.add(QTY);
        JLabel l6 = new JLabel("Description:");
        l6.setBounds(10, 150, 100, 25);
        f1.add(l6);
        JTextArea Des = new JTextArea();
        Des.setBounds(130, 185, 300, 200);
        f1.add(Des);
        JLabel l9 = new JLabel("Author:");
        l9.setBounds(10, 395, 100, 25);
        f1.add(l9);
        JTextField Author = new JTextField();
        Author.setBounds(130, 395, 300, 25);
        f1.add(Author);
        JLabel l7 = new JLabel("Category:");
        l7.setBounds(10, 430, 100, 25);
        f1.add(l7);
        JComboBox booktype = new JComboBox();
        booktype.setBounds(130, 430, 200, 25);
        booktype.addItem("Story Book");
        booktype.addItem("Programing Book");
        booktype.addItem("Art Book");
        f1.add(booktype);
        JLabel l8 = new JLabel("language:");
        l8.setBounds(10, 465, 200, 25);
        f1.add(l8);
        JTextField Agegroup = new JTextField();
        Agegroup.setBounds(130, 465, 200, 25);
        JComboBox slanguage = new JComboBox();
        slanguage.addItem("sinhala");
        slanguage.addItem("English");
        slanguage.addItem("Tamil");
        slanguage.setBounds(130, 465, 200, 25);
        f1.add(slanguage);
        JLabel l10 = new JLabel("Type:");
        l10.setBounds(10, 500, 200, 25);
        JComboBox level = new JComboBox();
        level.addItem("Advance");
        level.addItem("Medium");
        level.addItem("Entry");
        level.setBounds(130, 500, 200, 25);
        JTextField planguage = new JTextField();
        planguage.setBounds(130, 465, 200, 25);
        booktype.addItemListener((ItemEvent e) -> {
            if (e.getItem() == "Art Book") {
                f1.remove(slanguage);
                f1.remove(level);
                f1.remove(l10);
                f1.remove(planguage);
                l8.setText("Age group");
                f1.add(Agegroup);

            } else if (e.getItem() == "Programing Book") {
                l8.setText("language:");
                f1.remove(Agegroup);
                f1.remove(slanguage);
                f1.add(l10);
                f1.add(planguage);
                f1.add(level);
            } else {
                f1.remove(Agegroup);
                f1.remove(planguage);
                f1.remove(level);
                f1.remove(l10);
                f1.add(slanguage);
                l8.setText("language:");

            }
        });
    }

1 Ответ

0 голосов
/ 15 февраля 2019

Ответ: -добавлен метод repaint ()

public static void add() {
        JFrame f1 = new JFrame();
        JLabel l1 = new JLabel("Add Book");
        l1.setBounds(10, 10, 400, 25);
        Font f = new Font("TimesRoman", Font.BOLD, 25);
        l1.setFont(f);
        f1.setSize(475, 700);

        f1.setLayout(null);
        f1.add(l1);
        JLabel l2 = new JLabel("Referance Number:");
        l2.setBounds(10, 45, 300, 25);
        f1.add(l2);
        JTextField RNo = new JTextField();
        RNo.setBounds(130, 45, 200, 25);
        f1.add(RNo);
        JLabel l3 = new JLabel("Title :");
        l3.setBounds(10, 80, 350, 25);
        f1.add(l3);
        JTextField Title = new JTextField();
        Title.setBounds(130, 80, 300, 25);
        f1.add(Title);
        JLabel l4 = new JLabel("Actual unit price:");
        l4.setBounds(10, 115, 100, 25);
        f1.add(l4);
        JTextField AUPrice = new JTextField();
        AUPrice.setBounds(130, 115, 60, 25);
        f1.add(AUPrice);
        JLabel l5 = new JLabel("QTY:");
        l5.setBounds(230, 115, 60, 25);
        f1.add(l5);
        JTextField QTY = new JTextField();
        QTY.setBounds(300, 115, 60, 25);
        f1.add(QTY);
        JLabel l6 = new JLabel("Description:");
        l6.setBounds(10, 150, 100, 25);
        f1.add(l6);
        JTextArea Des = new JTextArea();
        Des.setBounds(130, 185, 300, 200);
        f1.add(Des);
        JLabel l9 = new JLabel("Author:");
        l9.setBounds(10, 395, 100, 25);
        f1.add(l9);
        JTextField Author = new JTextField();
        Author.setBounds(130, 395, 300, 25);
        f1.add(Author);
        JLabel l7 = new JLabel("Category:");
        l7.setBounds(10, 430, 100, 25);
        f1.add(l7);
        JComboBox booktype = new JComboBox();
        booktype.setBounds(130, 430, 200, 25);
        booktype.addItem("Story Book");
        booktype.addItem("Programing Book");
        booktype.addItem("Art Book");
        f1.add(booktype);
        JLabel l8 = new JLabel("language:");
        l8.setBounds(10, 465, 200, 25);
        f1.add(l8);
        JTextField Agegroup = new JTextField();
        Agegroup.setBounds(130, 465, 200, 25);
        JComboBox slanguage = new JComboBox();
        slanguage.addItem("sinhala");
        slanguage.addItem("English");
        slanguage.addItem("Tamil");
        slanguage.setBounds(130, 465, 200, 25);
        f1.add(slanguage);
        JLabel l10 = new JLabel("Type:");
        l10.setBounds(10, 500, 200, 25);
        JComboBox level = new JComboBox();
        level.addItem("Advance");
        level.addItem("Medium");
        level.addItem("Entry");
        level.setBounds(130, 500, 200, 25);
        JTextField planguage = new JTextField();
        planguage.setBounds(130, 465, 200, 25);
        booktype.addItemListener((ItemEvent e) -> {
            if (e.getItem() == "Art Book") {
                f1.remove(slanguage);
                f1.remove(level);
                f1.remove(l10);
                f1.remove(planguage);
                l8.setText("Age group");
                f1.add(Agegroup);
                f1.repaint();
            } else if (e.getItem() == "Programing Book") {
                l8.setText("language:");
                f1.remove(Agegroup);
                f1.remove(slanguage);
                f1.add(l10);
                f1.add(planguage);
                f1.add(level);
                f1.repaint();
            } else {
                f1.remove(Agegroup);
                f1.remove(planguage);
                f1.remove(level);
                f1.remove(l10);
                f1.add(slanguage);
                l8.setText("language:");
                f1.repaint();

            }
        });
        f1.setVisible(true);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...