1.1 --- a/java/rozsirene-atributy/src/cz/frantovo/rozsireneatributy/gui/Panel.java Fri Dec 15 20:41:41 2023 +0100
1.2 +++ b/java/rozsirene-atributy/src/cz/frantovo/rozsireneatributy/gui/Panel.java Sat Dec 16 14:09:00 2023 +0100
1.3 @@ -17,8 +17,11 @@
1.4 package cz.frantovo.rozsireneatributy.gui;
1.5
1.6 import cz.frantovo.rozsireneatributy.Atribut;
1.7 -import java.awt.Dimension;
1.8 +import cz.frantovo.rozsireneatributy.CSV;
1.9 +import java.awt.Toolkit;
1.10 +import java.awt.datatransfer.StringSelection;
1.11 import java.io.IOException;
1.12 +import java.io.StringWriter;
1.13 import java.util.ResourceBundle;
1.14 import java.util.logging.Level;
1.15 import java.util.logging.Logger;
1.16 @@ -56,7 +59,7 @@
1.17 nastavEditor();
1.18 tabulka.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
1.19 posuvnýPanel.setViewportView(tabulka);
1.20 -
1.21 +
1.22 tabulka.setRowHeight((int) (tabulka.getRowHeight() * 1.3));
1.23
1.24 /** Výběr aktuálního atributu v tabulce */
1.25 @@ -100,6 +103,31 @@
1.26 překlady.getString("chyba.titulek"), JOptionPane.ERROR_MESSAGE);
1.27 log.log(Level.WARNING, hláška, chyba);
1.28 }
1.29 +
1.30 + private void kopírujDoSchránky() {
1.31 + try {
1.32 + StringWriter výstup = new StringWriter();
1.33 + CSV csv = new CSV(výstup);
1.34 +
1.35 + csv.hodnota(překlady.getString("tabulka.název").toLowerCase());
1.36 + csv.hodnota(překlady.getString("tabulka.hodnota").toLowerCase());
1.37 + csv.konecŘádku();
1.38 +
1.39 + for (int i = 0; i < model.getRowCount(); i++) {
1.40 + csv.hodnota(String.valueOf(model.getValueAt(i, 0)));
1.41 + csv.hodnota(String.valueOf(model.getValueAt(i, 1)));
1.42 + csv.konecŘádku();
1.43 + }
1.44 +
1.45 + Toolkit.getDefaultToolkit().getSystemClipboard().setContents(
1.46 + new StringSelection(výstup.toString()),
1.47 + null
1.48 + );
1.49 + } catch (Exception e) {
1.50 + zobrazChybovouHlášku(překlady
1.51 + .getString("chyba.nepodařiloSeZkopírovat"), e);
1.52 + }
1.53 + }
1.54
1.55 @SuppressWarnings("unchecked")
1.56 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
1.57 @@ -110,6 +138,7 @@
1.58 tlačítkoSmazat = new javax.swing.JButton();
1.59 tlačítkoZnovuNačíst = new javax.swing.JButton();
1.60 tlačítkoZamknout = new javax.swing.JToggleButton();
1.61 + tlačítkoKopírovat = new javax.swing.JButton();
1.62
1.63 tlačítkoPřidat.setMnemonic('p');
1.64 java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("cz/frantovo/rozsireneatributy/Překlady"); // NOI18N
1.65 @@ -144,6 +173,13 @@
1.66 }
1.67 });
1.68
1.69 + tlačítkoKopírovat.setText(bundle.getString("schránka.kopírovat")); // NOI18N
1.70 + tlačítkoKopírovat.addActionListener(new java.awt.event.ActionListener() {
1.71 + public void actionPerformed(java.awt.event.ActionEvent evt) {
1.72 + tlačítkoKopírovatActionPerformed(evt);
1.73 + }
1.74 + });
1.75 +
1.76 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
1.77 this.setLayout(layout);
1.78 layout.setHorizontalGroup(
1.79 @@ -157,7 +193,9 @@
1.80 .addComponent(tlačítkoZnovuNačíst)
1.81 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1.82 .addComponent(tlačítkoZamknout)
1.83 - .addContainerGap(122, Short.MAX_VALUE))
1.84 + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
1.85 + .addComponent(tlačítkoKopírovat)
1.86 + .addContainerGap(25, Short.MAX_VALUE))
1.87 .addComponent(posuvnýPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 543, Short.MAX_VALUE)
1.88 );
1.89 layout.setVerticalGroup(
1.90 @@ -169,7 +207,8 @@
1.91 .addComponent(tlačítkoPřidat)
1.92 .addComponent(tlačítkoSmazat)
1.93 .addComponent(tlačítkoZnovuNačíst)
1.94 - .addComponent(tlačítkoZamknout))
1.95 + .addComponent(tlačítkoZamknout)
1.96 + .addComponent(tlačítkoKopírovat))
1.97 .addContainerGap())
1.98 );
1.99 }// </editor-fold>//GEN-END:initComponents
1.100 @@ -197,7 +236,7 @@
1.101 }//GEN-LAST:event_tlačítkoZnovuNačístActionPerformed
1.102
1.103 private void tlačítkoZamknoutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tlačítkoZamknoutActionPerformed
1.104 - try {
1.105 + try {
1.106 model.nastavZámek(tlačítkoZamknout.isSelected());
1.107 } catch (Exception e) {
1.108 zobrazChybovouHlášku(překlady
1.109 @@ -205,8 +244,13 @@
1.110 }
1.111 }//GEN-LAST:event_tlačítkoZamknoutActionPerformed
1.112
1.113 + private void tlačítkoKopírovatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tlačítkoKopírovatActionPerformed
1.114 + kopírujDoSchránky();
1.115 + }//GEN-LAST:event_tlačítkoKopírovatActionPerformed
1.116 +
1.117 // Variables declaration - do not modify//GEN-BEGIN:variables
1.118 private javax.swing.JScrollPane posuvnýPanel;
1.119 + private javax.swing.JButton tlačítkoKopírovat;
1.120 private javax.swing.JButton tlačítkoPřidat;
1.121 private javax.swing.JButton tlačítkoSmazat;
1.122 private javax.swing.JToggleButton tlačítkoZamknout;