Lokalizace + anglický překlad.
1 package cz.frantovo.rozsireneAtributy.gui;
3 import cz.frantovo.rozsireneAtributy.Atribut;
4 import java.io.IOException;
5 import java.util.ResourceBundle;
6 import java.util.logging.Level;
7 import java.util.logging.Logger;
8 import javax.swing.JOptionPane;
9 import javax.swing.event.ListSelectionEvent;
10 import javax.swing.event.ListSelectionListener;
16 public class Panel extends javax.swing.JPanel {
18 private static final Logger log = Logger.getLogger(Panel.class.getSimpleName());
19 private static final ResourceBundle překlady = ResourceBundle.getBundle("cz.frantovo.rozsireneAtributy.Překlady");
21 private Atribut vybranýAtribut;
23 public Panel(Model model) {
26 tabulka.setModel(model);
28 /** Výběr aktuálního atributu v tabulce */
29 tabulka.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
31 public void valueChanged(ListSelectionEvent e) {
32 int řádek = tabulka.getSelectedRow();
34 vybranýAtribut = null;
35 tlačítkoSmazat.setEnabled(false);
37 vybranýAtribut = getModel().getAtribut(řádek);
38 tlačítkoSmazat.setEnabled(true);
44 private Model getModel() {
48 private void zobrazChybovouHlášku(String hláška, Throwable chyba) {
49 JOptionPane.showMessageDialog(this, hláška, překlady.getString("chyba"), JOptionPane.ERROR_MESSAGE);
50 log.log(Level.WARNING, hláška, chyba);
53 @SuppressWarnings("unchecked")
54 // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
55 private void initComponents() {
57 posuvnýPanel = new javax.swing.JScrollPane();
58 tabulka = new javax.swing.JTable();
59 tlačítkoPřidat = new javax.swing.JButton();
60 tlačítkoSmazat = new javax.swing.JButton();
61 tlačítkoZnovuNačíst = new javax.swing.JButton();
63 tabulka.setModel(new javax.swing.table.DefaultTableModel(
65 {null, null, null, null},
66 {null, null, null, null},
67 {null, null, null, null},
68 {null, null, null, null}
71 "Title 1", "Title 2", "Title 3", "Title 4"
74 tabulka.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
75 posuvnýPanel.setViewportView(tabulka);
77 tlačítkoPřidat.setMnemonic('p');
78 java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("cz/frantovo/rozsireneAtributy/Překlady"); // NOI18N
79 tlačítkoPřidat.setText(bundle.getString("přidatAtribut")); // NOI18N
80 tlačítkoPřidat.addActionListener(new java.awt.event.ActionListener() {
81 public void actionPerformed(java.awt.event.ActionEvent evt) {
82 tlačítkoPřidatActionPerformed(evt);
86 tlačítkoSmazat.setMnemonic('s');
87 tlačítkoSmazat.setText(bundle.getString("smazatAtribut")); // NOI18N
88 tlačítkoSmazat.setEnabled(false);
89 tlačítkoSmazat.addActionListener(new java.awt.event.ActionListener() {
90 public void actionPerformed(java.awt.event.ActionEvent evt) {
91 tlačítkoSmazatActionPerformed(evt);
95 tlačítkoZnovuNačíst.setMnemonic('z');
96 tlačítkoZnovuNačíst.setText(bundle.getString("znovuNačíst")); // NOI18N
97 tlačítkoZnovuNačíst.addActionListener(new java.awt.event.ActionListener() {
98 public void actionPerformed(java.awt.event.ActionEvent evt) {
99 tlačítkoZnovuNačístActionPerformed(evt);
103 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
104 this.setLayout(layout);
105 layout.setHorizontalGroup(
106 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
107 .addGroup(layout.createSequentialGroup()
109 .addComponent(tlačítkoPřidat)
110 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
111 .addComponent(tlačítkoSmazat)
112 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
113 .addComponent(tlačítkoZnovuNačíst)
114 .addContainerGap(186, Short.MAX_VALUE))
115 .addComponent(posuvnýPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 543, Short.MAX_VALUE)
117 layout.setVerticalGroup(
118 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
119 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
120 .addComponent(posuvnýPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 277, Short.MAX_VALUE)
121 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
122 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
123 .addComponent(tlačítkoPřidat)
124 .addComponent(tlačítkoSmazat)
125 .addComponent(tlačítkoZnovuNačíst))
128 }// </editor-fold>//GEN-END:initComponents
130 private void tlačítkoPřidatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tlačítkoPřidatActionPerformed
131 model.přidejAtribut(new Atribut());
132 }//GEN-LAST:event_tlačítkoPřidatActionPerformed
134 private void tlačítkoSmazatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tlačítkoSmazatActionPerformed
136 model.odeberAtribut(vybranýAtribut);
137 } catch (IOException e) {
138 zobrazChybovouHlášku(překlady.getString("chyba.nepodařiloSeSmazat"), e);
140 }//GEN-LAST:event_tlačítkoSmazatActionPerformed
142 private void tlačítkoZnovuNačístActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tlačítkoZnovuNačístActionPerformed
144 model.načtiAtributy();
145 } catch (IOException e) {
146 zobrazChybovouHlášku(překlady.getString("chyba.nepodařiloSeNačíst"), e);
148 }//GEN-LAST:event_tlačítkoZnovuNačístActionPerformed
149 // Variables declaration - do not modify//GEN-BEGIN:variables
150 private javax.swing.JScrollPane posuvnýPanel;
151 private javax.swing.JTable tabulka;
152 private javax.swing.JButton tlačítkoPřidat;
153 private javax.swing.JButton tlačítkoSmazat;
154 private javax.swing.JButton tlačítkoZnovuNačíst;
155 // End of variables declaration//GEN-END:variables