/ problém s horizontálnym posuvným pruhom

swing horizontálny posuvník problém - hojdačka

 public TaskGraphComponent(ProjectFrame proFrame,TaskGraphModel model,    painter) {
this.proFrame = proFrame;
_painter = painter;

setModel(model);
_mouseHandler = new GraphMouseHandler(this);
_verticalScroll = new JScrollBar(JScrollBar.VERTICAL);
this.add(_verticalScroll, BorderLayout.EAST);

_verticalScroll.addAdjustmentListener(this);
_verticalScroll.setVisible(true);
_horizontalScroll = new JScrollBar(JScrollBar.HORIZONTAL);
add(_horizontalScroll, BorderLayout.SOUTH);
_horizontalScroll.addAdjustmentListener(this);
_horizontalScroll.setVisible(true);
setBorder(BorderFactory.createEmptyBorder(0,0,15,0));
this.addMouseMotionListener(_mouseHandler);
this.addMouseListener(_mouseHandler);
this.addMouseWheelListener(_mouseHandler);
this.addKeyListener(_mouseHandler);
this.addComponentListener(this);
this.setFocusable(false);
ToolTipManager.sharedInstance().setDismissDelay(8000);
ToolTipManager.sharedInstance().setReshowDelay(3000);

}

Vychádzam z JComponent tu vertikálna posuvná lišta funguje dobre, ale vodorovne rolovanie sa nezobrazuje.

Tu je TaskGraphComponent jcomponent

odpovede:

1 pre odpoveď č. 1

..nepoužitie rozloženia ..

To je problém. Použite rozloženie.


0 pre odpoveď č. 2

Testoval som tento kód, prosím, spustite ho a dajte mi vedieť. Zmenil som kód z vyššie uvedeného odkazu: http://www.java2s.com/Code/Java/Swing-JFC/AquickdemonstrationofJScrollBarbothverticalandhorizontal.htm

import java.awt.BorderLayout;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollBar;

public class SwingScrollBarExample extends JComponent implements AdjustmentListener {

JLabel label;

public SwingScrollBarExample() {
label = new JLabel();
setLayout(new BorderLayout());

JScrollBar _verticalScroll = new JScrollBar(JScrollBar.VERTICAL);
this.add(_verticalScroll);

_verticalScroll.addAdjustmentListener(this);
_verticalScroll.setVisible(true);

JScrollBar _horizontalScroll = new JScrollBar(JScrollBar.HORIZONTAL);
this.add(_horizontalScroll);

_horizontalScroll.addAdjustmentListener(this);
_horizontalScroll.setVisible(true);

this.add(_verticalScroll, BorderLayout.EAST);
this.add(_horizontalScroll, BorderLayout.SOUTH);
}

public void adjustmentValueChanged(AdjustmentEvent e) {
label.setText("    New Value is " + e.getValue() + "      ");
repaint();
}

public static void main(String s[]) {
JFrame frame = new JFrame("Scroll Bar Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new SwingScrollBarExample());
frame.setSize(200, 200);
frame.setVisible(true);
}
}