Добавьте новый прямоугольник (с минимальной высотой, чтобы он выглядел как линия) между двумя компонентами в java swing - PullRequest
0 голосов
/ 30 марта 2020

Я хочу нарисовать прямоугольник между уже существующими двумя прямоугольниками. Я не могу отрегулировать ширину и высоту прямоугольника, который должен быть добавлен ч / б двумя прямоугольниками. Также я хочу добавить actionListener на вновь добавленные прямоугольники. Что может быть лучше, чтобы добавить addListenrer к недавно нарисованному Rectangle? Именно я хочу знать, как установить ширину и длину в g2.draw ().

enter image description here

public void paint(Graphics g) {
    super.paint(g);
    Graphics2D g2 = (Graphics2D) g;
    g2.setColor(Color.BLUE);
    g2.setStroke(new BasicStroke(3f));

    int i = 0;
    int d = 0;
    for (TimeslotModel m: graph.model.slotModels) {
        TimeslotView v1 = m.getTimeslotView();
        for (TimeslotView v2: v1.connected) {
            int x1 = v1.getX();
            int y1 = v1.getY();
            int w1 = v1.getWidth();
            int h1 = v1.getHeight();
            int x2 = v2.getX();
            int y2 = v2.getY();
            int w2 = v2.getWidth();
            int h2 = v2.getHeight();
            //x2 = x2 + w2/2;
            //y2 = y2+ h2/2 ;
            //g2.drawRect(x1 + w1 / 2, y1 + h1 / 2 + d, x2 + w2/2, y2 + h2/2 + d);

            rect= new Rectangle(x1 + w1 / 2, y1 + h1 / 2 + d, x2 + w2/2 - 100, y2 + h2/2 + d);
            d += 4;

            g2.draw(rect);

            addMouseListener(new RightClickPopUpListener());

        }
    }
}
...