JSplitPane
-
hallo,
in eine JSplitPane ich habe 2 Komponenten (JTextArea);
ich will wenn ich aug den Mernüe Anzeigen Klike dass all 2 Kommponenten angezeigt werden. und wenn ich auf verstecken soll nur die erste Komponente Angezeigt werden.
Eine Menü habe ich erstellt. wie kann ich in actionPerformed
die oben beschriebene Merchanismus realisieren[java]
JSplitPane splitpane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
component1, component2)
.....public void actionPerformed(ActionEvent(AxctionEventevent)
{
if(event.getActionCommand().equals("Anzreigen")){// Eute Tips
}
if(event.getActionCommand().equals("Vertstecken")){// Eute Tips
}
}[/code]
danke
-
Bei einer Splitpane lässt sich die View einstellen. Auf der Split-Bar siehst du wenn du die setOneTouchExpandable-Methode mit true aufrufst zwei entgegengesetzte Pfeile. Wenn du auf einen dieser klickst dann verschwindet eins der beiden Komponenten (die eine Komponente wird größer). Dieses Verhalten kannst du auch mittels der setDividerLocation-Methode nachbilden. Wie vorzugehen ist steht wie immer in der Java-API-Doku
-
danke CengizS so weit ist gut
aber wenn ich auf eine Belibige Stell auf dem Divider klicke springt einefach
in eine andere belibige stelle. Aber Ich will wenn ich mit dem Mouse auf den Divider Klicke das ich es vershieben kann.wie kan ich eas tun ??
vielen dank
-
springen tut er nur wenn du auf die Pfeile klickst
wenn du klickst und ziehst kannst du per maus die größe einstellen
-
das ist eben das Problem
wenn ich auf eine belibige Stelle der Divider ( nicht auf dem Pheil) klicke
springt er einfach.
dafür habe ich versucht eine Event zu Empfangen[java]
splitPane.addAncestorListener(new AncestorListener(){
public void(){// Eure Tips
}
}); [/code]
danke
-
Ne also dieses Verhalten kann ich nicht nachvollziehen. Probiers mal anhand dieses Beispiels aus ...
[java]import javax.swing.;
import java.awt.;
import java.awt.event.*;public class SplitPaneDemo extends JFrame
{
private JSplitPane splitPane = null;public SplitPaneDemo() {
super("SplitPaneDemo.java");
Container cnt = this.getContentPane();
cnt.setLayout(new BorderLayout());
splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
splitPane.setRightComponent(new JTextArea("hier kommt fließtext..."));
splitPane.setLeftComponent(new JTextArea(" 1\n 2\n 3\n 4\n 5\n 6\n 7\n 8\n 9"));
splitPane.setOneTouchExpandable(true);JButton firstBtn=new JButton("Show First");
firstBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
splitPane.setDividerLocation(1.0);
}
});JButton secondBtn=new JButton("Show Second");
secondBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
splitPane.setDividerLocation(0.0);
}
});JPanel layoutPanel = new JPanel();
layoutPanel.add(firstBtn);
layoutPanel.add(secondBtn);
layoutPanel.add(thirdBtn);
cnt.add(layoutPanel, BorderLayout.SOUTH);
cnt.add(splitPane, BorderLayout.CENTER);
pack();
}public static void main (String args[]) {
new SplitPaneDemo().show();
}
}[/code]