小编use*_*393的帖子

具有固定宽度的JScrollPane

我是Java Swing的新手,我对下一个代码感到困惑.

我的目标是制作垂直可滚动面板,里面有2个JTextPane.第一个JTextPane固定宽度为父面板的70%,第二个JTextPane固定宽度为30%.因为两个JTextPane都具有固定宽度,所以它们仅在垂直方向上展开更多文本.

我使用这个解决方案,因为我想为这2个JTextPane只有一个滚动条.

我的初始代码:

private void initialize() {
    frame = new JFrame();
    frame.setBounds(100, 100, 616, 374);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().setLayout(new BorderLayout(0, 0));

    JScrollPane scrollPane = new JScrollPane();
    scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
    frame.getContentPane().add(scrollPane);

    JPanel panel = new JPanel();
    scrollPane.setViewportView(panel);
    SpringLayout sl_panel = new SpringLayout();
    panel.setLayout(sl_panel);

    JTextPane leftTextPane = new JTextPane();
    sl_panel.putConstraint(SpringLayout.NORTH, leftTextPane, 10, SpringLayout.NORTH, panel);
    sl_panel.putConstraint(SpringLayout.WEST, leftTextPane, 10, SpringLayout.WEST, panel);
    panel.add(leftTextPane);

    JTextPane rightTextPane = new JTextPane();
    sl_panel.putConstraint(SpringLayout.NORTH, rightTextPane, 10, SpringLayout.NORTH, panel);
    sl_panel.putConstraint(SpringLayout.WEST, rightTextPane, 10, SpringLayout.EAST, leftTextPane);
    sl_panel.putConstraint(SpringLayout.EAST, rightTextPane, -10, SpringLayout.EAST, panel); …
Run Code Online (Sandbox Code Playgroud)

java swing

3
推荐指数
1
解决办法
2811
查看次数

JavaFX的.在自定义类中注册eventHandler

我尝试在我的自定义类中注册eventHandler.我不知道addEventHandler在自定义类中使用方法需要实现哪些接口或方法.出于这个原因,我的Model类扩展了Rectangle(Rectangle类有addEventHandler机制).

另外我不知道为什么分配的源对象不起作用(请在Controller课堂上看评论).

我在本教程中创建自定义事件:https://stackoverflow.com/a/27423430/3102393.


项目结构

调节器

package sample;

import javafx.event.Event;

public class Controller {
    private Model model;

    public Controller() {
        model = new Model();

        model.addEventHandler(MyEvent.ROOT_EVENT, this::handler);
    }

    private void handler(MyEvent event) {
        if(event.getEventType().equals(MyEvent.INSTANCE_CREATED)) {
            // Why is event.getSource() instence of Rectangle and not instance of assigned MyObject?
            Object obj = event.getSource();
            System.out.println(event.getMyObject().getText());
        }
    }

    public void clickedCreate(Event event) {
        model.makeEvent();
    }
}
Run Code Online (Sandbox Code Playgroud)

模型 …

events javafx event-handling

1
推荐指数
1
解决办法
3098
查看次数

标签 统计

event-handling ×1

events ×1

java ×1

javafx ×1

swing ×1