Java Swing jCombobox to jList using button

Sdílet
Vložit
  • čas přidán 20. 03. 2022
  • source code : github.com/Nuubkid/Java-activ...

Komentáře • 1

  • @vasiiceeek
    @vasiiceeek Před rokem

    package aplikace;
    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.BorderFactory;
    import javax.swing.ComponentInputMap;
    import javax.swing.DefaultListModel;
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JList;
    import javax.swing.JOptionPane;
    import javax.swing.JScrollPane;
    import javax.swing.JTextField;
    import javax.swing.ListCellRenderer;
    import javax.swing.ScrollPaneConstants;
    import javax.swing.border.LineBorder;
    import java.awt.Color;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.util.Scanner;
    public class vysledky {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    JFrame okno = new JFrame("Aplikace");
    okno.setLayout(null);
    okno.getContentPane().setBackground(Color.DARK_GRAY);

    final JTextField text = new JTextField();
    text.setBounds(150, 250, 500, 80); // nastavení pozice a velikosti textového pole
    text.setBorder(new LineBorder(Color.green, 5));
    okno.add(text);

    ImageIcon imageIcon = new ImageIcon("C:\\Users\\uzivatel\\Desktop\\logo.png");

    JLabel label = new JLabel();
    label.setIcon(imageIcon);
    label.setBounds(280, 100, 350, 80);

    final JFileChooser fileChooser = new JFileChooser();
    final JButton vytvor = new JButton("Zápas");
    vytvor.setBounds(20, 370, 150, 60);
    vytvor.setVisible(true);
    vytvor.setLayout(null);
    vytvor.setOpaque(true);
    vytvor.setBackground(Color.white);
    vytvor.setForeground(Color.DARK_GRAY);
    vytvor.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent ae) {
    int returnValue = fileChooser.showSaveDialog(null);
    if (returnValue == JFileChooser.APPROVE_OPTION) {
    File file = fileChooser.getSelectedFile();
    try (BufferedWriter writer = new BufferedWriter(new FileWriter(file,true))) {
    String zapas = text.getText();
    String vysledek = vytvor.getText();
    String zapis = zapas + " - " + " ";
    writer.write(zapis);
    writer.flush();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    });
    final JButton id = new JButton("Výsledek");
    id.setBounds(220, 370, 150, 60);
    id.setVisible(true);
    id.setLayout(null);
    id.setOpaque(true);
    id.setBackground(Color.white);
    id.setForeground(Color.DARK_GRAY);
    id.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent ae) {
    int returnValue = fileChooser.showSaveDialog(null);
    if (returnValue == JFileChooser.APPROVE_OPTION) {
    File file = fileChooser.getSelectedFile();
    try (BufferedWriter writer = new BufferedWriter(new FileWriter(file,true))) {
    String zapas = text.getText();
    String vysledek = id.getText();
    String zapis = zapas ;
    writer.write(zapis + "
    ");
    writer.flush();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }
    });
    final JList list = new JList();
    list.setVisible(false);

    JScrollPane scrollPane = new JScrollPane();
    scrollPane.setBounds(570,20, 200, 200);
    scrollPane.setViewportView(list);
    scrollPane.setVisible(false); // nastavíme neviditelnost zpočátku
    JButton zapis = new JButton("Najít zápas");
    zapis.setBounds(420, 370, 150, 60);
    zapis.setVisible(true);
    zapis.setLayout(null);
    zapis.setOpaque(true);
    zapis.setBackground(Color.white);
    zapis.setForeground(Color.DARK_GRAY);
    zapis.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent ae) {
    scrollPane.setViewportView(list);
    scrollPane.setVisible(true);
    DefaultListModel model = new DefaultListModel();
    try {
    File file = new File("C:\\Users\\uzivatel\\Desktop\\Prg.txt");
    Scanner scanner = new Scanner(file);
    while (scanner.hasNextLine()) {
    String line = scanner.nextLine();
    model.addElement(line);
    }
    scanner.close();
    // Vytvoření nového JListu s daty
    JList newList = new JList(model);
    newList.setBorder(BorderFactory.createEmptyBorder());
    newList.addListSelectionListener(e -> {
    if (!e.getValueIsAdjusting()) {
    String selectedValue = newList.getSelectedValue();
    text.setText(selectedValue);
    }
    });
    // Nastavení nového JListu jako datový model JScrollPane
    scrollPane.setViewportView(newList);
    scrollPane.setVisible(true);
    list.setVisible(true); // nastavit viditelnost JList na true
    okno.add(scrollPane);
    okno.revalidate();
    okno.repaint();
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }
    }
    });
    JButton zavrit = new JButton("Zavřít");
    zavrit.setBounds(620, 370, 150, 60);
    zavrit.setVisible(true);
    zavrit.setBackground(Color.white);
    zavrit.setForeground(Color.DARK_GRAY);
    zavrit.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent ae) {
    JOptionPane.showMessageDialog(null, "Stránka se zavírá");
    System.exit(0);
    }
    });
    okno.add(zapis);
    okno.add(zavrit);


    okno.add(scrollPane);
    okno.pack();
    okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    okno.setSize(800, 600);
    okno.setVisible(true);
    okno.add(label);
    okno.add(zavrit);
    okno.add(zapis);
    okno.add(id);
    okno.add(vytvor);
    }
    }