Tôi đang cố gắng vẽ một đường thẳng (đường màu đỏ trong hình ảnh) qua nhiều bảng, nhưng tôi dường như không thể làm cho nó hoạt động. Làm thế nào tôi có thể làm điều này có thể? Bất kỳ đề xuất?Vẽ đường trên nhiều bảng trong Java
Trả lời
Vẽ lên glass pane.
hoặc đến JViewPort +1 – mKorbel
@mKorbel ehh ... cửa sổ xem (nếu có) là _below_ bảng điều khiển ... – kleopatra
cá nhân, tôi không hoàn toàn hiểu con trỏ trần cho glassPane: đó là một (btw, khó xử lý) thuộc tính của rootPane, đó là con trực tiếp của một container cấp cao nhất. Vì vậy, bạn là gì (và những người khác gần đây, bạn là người không may ngày hôm nay :-) thực sự cho thấy: quản lý các overpaints thủy tinh trên cơ sở mỗi khung? sử dụng rootPane ở nơi khác? sao chép một phần của mã của rootPane đang quản lý glassPane đến một vùng chứa khác? Thực sự tò mò ... – kleopatra
JDK 7 đã thêm JLayer to support visual decorations lên trên các thành phần tùy ý. Đối với các phiên bản trước đó, có một dự án JXLayer at java.net thực sự là tiền thân của nó với api
Đây là một ví dụ thô sơ, sử dụng một LayerUI tùy chỉnh vẽ một đường thẳng từ một thành phần trong một thùng chứa đến một thành phần khác trong một vùng chứa khác. Cha mẹ chung của hai thùng chứa được trang trí với một JLayer bằng cách sử dụng ui:
JComponent comp = Box.createVerticalBox();
final JComponent upper = new JPanel();
final JButton upperChild = new JButton("happy in upper");
upper.add(upperChild);
final JComponent lower = new JPanel();
final JButton lowerChild = new JButton("unhappy in lower");
lower.add(lowerChild);
comp.add(upper);
comp.add(lower);
LayerUI<JComponent> ui = new LayerUI<JComponent>() {
@Override
public void paint(Graphics g, JComponent c) {
super.paint(g, c);
Rectangle u = SwingUtilities.convertRectangle(upper, upperChild.getBounds(), c);
Rectangle l = SwingUtilities.convertRectangle(lower, lowerChild.getBounds(), c);
g.setColor(Color.RED);
g.drawLine(u.x, u.y + u.height, l.x, l.y);
}
};
JLayer<JComponent> layer = new JLayer<JComponent>(comp, ui);
Lớp J (X) rất dễ sử dụng được mã +1 – mKorbel
- 1. Vẽ nhiều đường kẻ trong một BufferedImage
- 2. Vẽ nhiều đường cong Bootstrap trong R
- 3. Vẽ các đường viền bảng trong libgdx 0.9.7
- 4. Đường ray (ActiveRecord) nhiều đến nhiều bảng
- 5. Vẽ nhiều dòng với Java Swing
- 6. Nhiều bảng tham gia trong đường ray
- 7. Vẽ một đường ở một góc cụ thể trong Java
- 8. Vẽ đồ thị trên java
- 9. Vẽ một đường trên một QWidget
- 10. Vẽ chỉ đường trên Google Maps
- 11. Vẽ đường gạch ngang trên Canvas
- 12. đường vẽ bên dưới TextView trên Android
- 13. WPF vẽ đường viền trên MouseOver
- 14. Cách vẽ NSString trên đường cong?
- 15. Vẽ bằng nhiều màu trong canvas
- 16. Làm cách nào để bố trí nhiều bảng trên khung hình jFrame? (java)
- 17. Vẽ đường viền trên hình dạng trên Android
- 18. Vẽ các đường với opengl trong Haskell
- 19. Vẽ từ nhiều chủ đề trong Qt
- 20. mysql fulltext trên nhiều bảng
- 21. Vẽ đường pixel trong html5 vải
- 22. Vẽ nhiều dòng trong D3.js
- 23. mySQL MATCH trên nhiều bảng
- 24. Vẽ đường lắp (OpenCV)
- 25. Android - Cách vẽ một đường viền dựa trên gradient
- 26. Làm thế nào để vẽ đường viền bảng chéo trong mủ cao su, như trong Excel?
- 27. Vẽ đường cong Hermite trong OpenGL
- 28. Đường kẻ mịn được vẽ trong canvas
- 29. Richtextbox vẽ đường rtf
- 30. Vẽ một đường trong iPhone/iPad
BTW - hình ảnh đẹp, nhưng hãy cắt chúng nhỏ hơn trong tương lai. Tôi đã thay thế bản gốc bằng phiên bản cắt (430 × 375px). –