Java Swing-不使用滚动条滚动JFrame内容
我有以下问题。有没有一种方法可以不使用滚动条滚动Jframe内容,只需通过代码编程即可。我有Japplet在里面,我找不到一种方法来滚动它的内容而不显示滚动条。整个滚动操作不应该在用户操作上执行,而是在我的线程想要执行时执行。等待帮助,谢谢 我找不到任何方法来做那件事。我试图将我的组件(Applet)添加到Jscrollpane中,并将其添加到jframe中,但当只显示白色屏幕时,就会出现这种情况 JFrame类:Java Swing-不使用滚动条滚动JFrame内容,java,swing,scroll,jframe,Java,Swing,Scroll,Jframe,我有以下问题。有没有一种方法可以不使用滚动条滚动Jframe内容,只需通过代码编程即可。我有Japplet在里面,我找不到一种方法来滚动它的内容而不显示滚动条。整个滚动操作不应该在用户操作上执行,而是在我的线程想要执行时执行。等待帮助,谢谢 我找不到任何方法来做那件事。我试图将我的组件(Applet)添加到Jscrollpane中,并将其添加到jframe中,但当只显示白色屏幕时,就会出现这种情况 JFrame类: public class SimulationFrame extends JFr
public class SimulationFrame extends JFrame {
private SimulationWindow simulationWindow;
public SimulationFrame() throws HeadlessException {
super(PropertiesHelper.getWindowTitle());
simulationWindow = new SimulationWindow();
JScrollPane scrollPane = new JScrollPane(simulationWindow);
this.getContentPane().add(scrollPane);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setVisible(true);
}
}
J组件:
public SimulationWindow() {
setLayout(new BorderLayout());
graph = GraphHelper.provideGraphInstance();
Dimension layoutSize = new Dimension(PropertiesHelper.getGraphHolderWidth(),
PropertiesHelper.getGraphHolderHeight());
graphLayout = new StaticLayout<Checkpoint, Route>(graph, new CheckpointPositionTransformer());
graphLayout.setSize(layoutSize);
visualizationViewer = new VisualizationViewer<Checkpoint, Route>(graphLayout, new Dimension(
PropertiesHelper.getWindowWidth(), PropertiesHelper.getWindowHeight()));
visualizationViewer.getRenderContext().setVertexLabelTransformer(new CheckpointLabelTransformer());
visualizationViewer.getRenderer().getVertexLabelRenderer().setPosition(Renderer.VertexLabel.Position.CNTR);
visualizationViewer.getRenderContext().setVertexFillPaintTransformer(new CheckpointColorTransformer());
visualizationViewer.getRenderContext().setEdgeDrawPaintTransformer(new RouteColorTransformer());
visualizationViewer.getRenderContext().setEdgeLabelTransformer(new RouteLabelTransformer());
final ImageIcon mapBackground = createMapBackground();
if (mapBackground != null) {
mapBackgroundImagePaintable = new BackgroundImagePaintable(visualizationViewer, mapBackground);
visualizationViewer.addPreRenderPaintable(mapBackgroundImagePaintable);
}
add(visualizationViewer);
scrollRectToVisible(new Rectangle(1000,100));
}
公共模拟窗口(){
setLayout(新的BorderLayout());
graph=GraphHelper.ProvidePhilinstance();
维度布局大小=新维度(PropertieHelper.getGraphHolderWidth(),
属性Helper.getGraphHolderHeight());
graphLayout=新静态布局(graph,new CheckpointPositionTransformer());
图形布局。设置大小(布局大小);
visualizationViewer=新的visualizationViewer(图形布局,新维度(
PropertiesHelper.getWindowWidth(),PropertiesHelper.getWindowHeight());
visualizationViewer.getRenderContext().setVertexLabelTransformer(新的CheckpointLabelTransformer());
visualizationViewer.getRenderer().getVertexLabelRenderer().setPosition(Renderer.VertexLabel.Position.CNTR);
visualizationViewer.getRenderContext().setVertexFillPaintTransformer(新检查点ColorTransformer());
visualizationViewer.getRenderContext().setEdgeDrawPaintTransformer(新的RouteColorTransformer());
visualizationViewer.getRenderContext().setEdgeLabelTransformer(新RouteLabelTransformer());
最终图像图标mapBackground=createMapBackground();
如果(mapBackground!=null){
mapBackgroundImagePaintable=新的BackgroundImagePaintable(visualizationViewer,mapBackground);
visualizationViewer.addPreRenderPaintable(mapBackgroundImagePaintable);
}
添加(visualizationViewer);
scrollRectToVisible(新矩形(1000100));
}
VisualizationViewer是一个扩展JPanel的类。在此构造函数中放置scrollRectToVisible无效
有什么建议吗?也许这个实现是错误的,Jcomponent包含Jpanel本身?使用方法
public void scrollRectToVisible(Rectangle aRect)
在JScrollPane中添加的JComponent的
public void scrollRectToVisible(Rectangle aRect)
在JScrollPane中添加的JComponent中,有两种/三种方法,但是没有人知道您尝试了什么,为了更好地帮助您更快地编辑问题,您是否控制了
JApplet的代码?虽然可以将小程序放在一个框架中,但这不是一个好主意。我稍微更改了实现。相反,添加到Jframe的Japplet my类扩展了Jcomponent。在这个类中,我添加了Jpanel元素(这是Jung库所需要的,我使用它来可视化图形)。但是我仍然找不到滚动视图的方法。有两种/三种方法,但是没有人知道您尝试了什么,为了获得更好的帮助,请更快地编辑您的问题,您是否控制JApplet
的代码?虽然可以将小程序放在一个框架中,但这不是一个好主意。我稍微更改了实现。相反,添加到Jframe的Japplet my类扩展了Jcomponent。在这个类中,我添加了Jpanel元素(这是Jung库所需要的,我使用它来可视化图形)。但我还是找不到滚动视图的方法。我不明白。现在我有了Jframe中的Japplet。我应该添加JScrollPane和Japplet?我不明白。现在我有了Jframe中的Japplet。我应该添加JScrollPane和Japplet吗?