(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
|
package tableTest;
importowy java.awt.BorderLayout;
importowy java.awt. Wymiar;
importowy javax.swing.JComboBox;
importowy javax.swing.JLabel;
importowy javax.swing.JPanel;
importowy javax.swing.JScrollPane;
importowy javax.swing.JTable;
importowy javax.swing.SpringLayout;
importowy javax.swing.table.DefaultTableModel;
społeczeństwo klasowy MyOptionsPanel przedłużyć JPanel {
intymny JLabel plantLabel;
intymny JComboBox plantComboBox;
intymny JLabel animalLabel;
intymny JComboBox animalComboBox;
intymny JPanel listPanel;
intymny JTable myTable;
intymny Smyczkowy [] columnHeader = {"Roślina/Zwierzę"};
/**
* konstruktor
*
jawny MyOptionsPanel () {
layoutComponents ();
}
/**
* układ składnik
*
intymny kawitacyjny layoutComponents () {
// roślina
plantLabel = nowy JLabel ("Roślina");
this.add (plantLabel);
Sznurek [] plantTypes = {"trawa", "forb", "kwiat", "krzak", "drzewo"};
plantComboBox = nowy JComboBox (plantTypes);
plantComboBox.setSelectedItem ("trawa");
this.add (plantComboBox);
// zwierzę
animalLabel = nowy JLabel ("Zwierzę");
this.add (animalLabel);
Sznurek [] animalTypes = {"pies", "kot", "koń", "cakiel", "krowa"};
animalComboBox = nowy JComboBox (animalTypes);
animalComboBox.setSelectedItem ("pies");
this.add (animalComboBox);
// lista
listPanel = nowy JPanel (nowy BorderLayout ());
myTable = nowy JTable ();
DefaultTableModel defaultTableModel = nowy DefaultTableModel ();
Zawiązywać [] [] stringArray = composeList ();
defaultTableModel.setDataVector (stringArray, columnHeader);
myTable.setModel (defaultTableModel);
//myTable.setPreferredScrollableViewportSize (myTable.getPreferredSize ());
JScrollPane scrollPane = nowy JScrollPane (myTable);
listPanel.add (scrollPane);
this.add (listPanel);
// rozmiar???
Wymiarowy plantLabelDimension = plantLabel.getPreferredSize ();
Wymiarowy animalDimension = animalLabel.getPreferredSize ();
Wymiarowy myListDimension = myTable.getPreferredSize ();
Wymiarowy scrollPaneDimension = scrollPane.getViewport () .getPreferredSize ();
Wymiarowy listPanellDimension = listPanel.getPreferredSize ();
Wymiarowy thisDimension = this.getPreferredSize ();
//System.out.println ("plantLabelDimension szerokość: wzrost: " + plantLabelDimension.width + ": " + plantLabelDimension.height);
//System.out.println ("animalabelDimension szerokość: wzrost: " + animalDimension.width + ": " + animalDimension.height);
//System.out.println ("myList szerokość: wzrost: " + myListDimension.width + ": " + myListDimension.height);
//System.out.println ("scrollPaneDimension szerokość: wzrost: " + scrollPaneDimension.width + ": " + scrollPaneDimension.height);
//System.out.println ("listPanellDimension szerokość: wzrost: " + listPanellDimension.width + ": " + listPanellDimension.height);
int szerokość = listPanellDimension.width;
myTable.setPreferredScrollableViewportSize (myTable.getSize ());
//myList.setFillsViewportHeight (true);
scrollPane.getViewport () .setPreferredSize (myTable.getPreferredSize ());
scrollPane.getViewport () .setMinimumSize (myTable.getPreferredSize ());
scrollPane.getViewport () .setMaximumSize (myTable.getPreferredSize ());
int wzrost = plantLabelDimension.height + animalDimension.height + scrollPaneDimension.height;
thisDimension.setSize (szerokość, wzrost);
//System.out.println ("thisDimension szerokość: wzrost: " + thisDimension.width + ": " + thisDimension.height);
this.setPreferredSize (thisDimension);
SpringLayout springLayout = nowy SpringLayout ();
this.setLayout (springLayout);
// przystosowywać przymus (ie pozycja składnik)
// roślina
springLayout.putConstraint (SpringLayout.WEST, plantLabel, 10, SpringLayout.WEST, 10);
springLayout.putConstraint (SpringLayout.NORTH, plantLabel, 15, SpringLayout.NORTH, 15);
springLayout.putConstraint (SpringLayout.WEST, plantComboBox, 110, SpringLayout.WEST, 110);
springLayout.putConstraint (SpringLayout.NORTH, plantComboBox, (0), SpringLayout.NORTH, plantLabel);
// zwierzę
springLayout.putConstraint (SpringLayout.WEST, animalLabel, (0), SpringLayout.WEST, plantLabel);
springLayout.putConstraint (SpringLayout.NORTH, animalLabel, 15, SpringLayout.SOUTH, plantLabel);
springLayout.putConstraint (SpringLayout.WEST, animalComboBox, 110, SpringLayout.WEST, 110);
springLayout.putConstraint (SpringLayout.NORTH, animalComboBox, (0), SpringLayout.NORTH, animalLabel);
// lista
springLayout.putConstraint (SpringLayout.WEST, listPanel, (0), SpringLayout.WEST, animalLabel);
springLayout.putConstraint (SpringLayout.EAST, listPanel, -10, SpringLayout.EAST, -10); // troszkę pokój na the prawa strona
springLayout.putConstraint (SpringLayout.NORTH, listPanel, 15, SpringLayout.SOUTH, animalLabel);
springLayout.putConstraint (SpringLayout.SOUTH, listPanel, -10, SpringLayout.SOUTH, -10); // troszkę pokój przy the dno
}
ochraniać kawitacyjny resetList () {
Zawiązywać [] [] stringArray = composeList ();
DefaultTableModel dtm = (DefaultTableModel) myTable.getModel ();
dtm.setDataVector (stringArray, nowy Przedmiot [] {"Roślina/Zwierzę"});
}
intymny Smyczkowy [] [] composeList () {
Zawiązywać [] [] returnArray = nowy Sznurek [2] [(1)];
returnArray [(0)] [(0)] = (Smyczkowy) plantComboBox.getSelectedItem ();
returnArray [(1)] [(0)] = (Smyczkowy) animalComboBox.getSelectedItem ();
powrotny returnArray;
}
społeczeństwo Smyczkowy getPlant () {
wracać (Smyczkowy) plantComboBox.getSelectedItem ();
}
społeczeństwo Smyczkowy getAnimal () {
wracać (Smyczkowy) animalComboBox.getSelectedItem ();
}
społeczeństwo Smyczkowy getTitle () {
powrót "Roślina Zwierzęcy Lista";
}
}
--------
pakunek tableTest;
importowy java.awt.event.WindowAdapter;
importowy java.awt.event.WindowEvent;
importowy java.beans.PropertyChangeEvent;
importowy java.beans.PropertyChangeListener;
importowy javax.swing.JFrame;
importowy javax.swing.JPanel;
importowy javax.swing.JScrollPane;
importowy javax.swing.JTabbedPane;
importowy javax.swing.UIManager;
społeczeństwo klasowy MyTabbedPane przedłużyć JTabbedPane narzędzie PropertyChangeListener {
intymny MyOptionsPanel myOptionsPanel;
intymny JPanel miscPanel;
/**
* konstruktor
*
MyTabbedPane () {
setLayout ();
}
/**
* ustalony układ zakładka
*
intymny kawitacyjny setLayout () {
myOptionsPanel = nowy MyOptionsPanel ();
this.addTab (myOptionsPanel.getTitle (), myOptionsPanel);
miscPanel = nowy JPanel ();
this.addTab ("MiscPanel", miscPanel);
}
@Override
jawny kawitacyjny propertyChange (PropertyChangeEvent wydarzenie) {
System.out.println ("MyTabbedPane.propertyChange (): wydarzenie: " + event.getPropertyName ());
}
/**
* @return
*
jawny MyOptionsPanel getMyOptionsPanel () {
powrotny myOptionsPanel;
}
/**
* @return
*
jawny JPanel getMiscPanel () {
powrotny miscPanel;
}
/**
*
* @param args
*
jawny statyczny kawitacyjny główny (Sznurek [] args) {
próba {
UIManager.setLookAndFeel (UIManager.getSystemLookAndFeelClassName ());
}
chwyt (Wyjątek e) {
e.printStackTrace ();
}
MyTabbedPane myTabbedPane = nowy MyTabbedPane ();
definitywny JFrame rama = nowy JFrame ();
JScrollPane ślimacznica = nowy JScrollPane (myTabbedPane);
scroll.getViewport () .setPreferredSize (myTabbedPane.getPreferredSize ());
frame.getContentPane () .add (ślimacznica);
frame.setTitle ("MyTabbedPane");
frame.addWindowListener (nowy WindowAdapter () {
@Override
jawny pustka windowClosing (WindowEvent e) {
int szerokość = frame.getWidth ();
int wzrost = frame.getHeight ();
System.out.println ("szerokość x wzrost:: " + szerokość + "x" + wzrost);
}
});
frame.setDefaultCloseOperation (JFrame.DISPOSE_ON_CLOSE);
frame.setLocation (300, 200);
frame.pack ();
frame.setVisible (true);
}
}
--------
pakować tableTest;
importować java.awt.BorderLayout;
importować javax.swing.JPanel;
/**
* panel tafla tafla
*
społeczeństwo klasowy MyTabbedPanePanel przedłużyć JPanel {
ochraniać MyTabbedPane myTabbedPane;
/**
* konstruktor
*
jawny MyTabbedPanePanel () {
myTabbedPane = nowy MyTabbedPane ();
layoutComponents ();
}
intymny kawitacyjny layoutComponents () {
setLayout (nowy BorderLayout ());
dodawać (myTabbedPane, BorderLayout.CENTER);
}
społeczeństwo Smyczkowy getPlant () {
powrotny myTabbedPane.getMyOptionsPanel () .getPlant ();
}
społeczeństwo Smyczkowy getAnimal () {
powrotny myTabbedPane.getMyOptionsPanel () .getAnimal ();
}
jawny kawitacyjny resetList () {
myTabbedPane.getMyOptionsPanel () .resetList ();
}
}
|