intel silver reef, celly 2.0 Ghz, 256mb ddr, G2MX
Als je geen layout gebruikt is je preferred size onbekend.... dat levert wat problemen op denk ik... Misschien dat je een LayoutManager moet gebruiken die zich gedraagd als de null layout maar nog wel een preferred-size kan opleveren...
Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment
Kan ik niet zelf gewoon een prefferesize aangeven? hij is toch gewoon altijd even groot....
intel silver reef, celly 2.0 Ghz, 256mb ddr, G2MX
Deze is dus echt heel simpel op te lossen.
Om een panel in een scrollpane moet kunnen scrollen scrollbaar te maken (vage zin), moet je niet alleen de preffered size vastleggen, maar ook de minimum size. Pas als het panel onder deze minimum size komt, krijg je functionerende scroll bars te zien.
Voorbeeldje gegenereerd met Netbeans.
Je zult zien, dat wanneer je dit draait, dat er netjes een panel wordt gegenereerd zonder scrollbars. resize dit nu maar is naar een kleiner formaat.
Als je een bepaald formaat hebt wat altijd vastligt, dan moet je de minimum en preffered size exact gelijk maken. maximum size heeft erg weinig effect.
Om een panel in een scrollpane moet kunnen scrollen scrollbaar te maken (vage zin), moet je niet alleen de preffered size vastleggen, maar ook de minimum size. Pas als het panel onder deze minimum size komt, krijg je functionerende scroll bars te zien.
Voorbeeldje gegenereerd met Netbeans.
code:
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
| /*
* test2.java
*
* Created on 13 januari 2002, 16:35
*/
/**
*
* @author Jeroen Leenarts
*/
public class test2 extends javax.swing.JFrame {
/** Creates new form test2 */
public test2() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jPanel1 = new javax.swing.JPanel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
jPanel1.setLayout(null);
jPanel1.setBackground(java.awt.Color.white);
jPanel1.setPreferredSize(new java.awt.Dimension(300, 300));
jPanel1.setMinimumSize(new java.awt.Dimension(300, 300));
jPanel1.setAutoscrolls(true);
jButton1.setText("jButton1");
jPanel1.add(jButton1);
jButton1.setBounds(100, 80, 81, 27);
jButton2.setText("jButton2");
jPanel1.add(jButton2);
jButton2.setBounds(180, 190, 81, 27);
jScrollPane1.setViewportView(jPanel1);
getContentPane().add(jScrollPane1, java.awt.BorderLayout.CENTER);
pack();
}
/** Exit the Application */
private void exitForm(java.awt.event.WindowEvent evt) {
System.exit(0);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
new test2().show();
}
// Variables declaration - do not modify
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JPanel jPanel1;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
// End of variables declaration
} |
Je zult zien, dat wanneer je dit draait, dat er netjes een panel wordt gegenereerd zonder scrollbars. resize dit nu maar is naar een kleiner formaat.
Als je een bepaald formaat hebt wat altijd vastligt, dan moet je de minimum en preffered size exact gelijk maken. maximum size heeft erg weinig effect.
thx
intel silver reef, celly 2.0 Ghz, 256mb ddr, G2MX
Pagina: 1