看板 java 關於我們 聯絡資訊
版上各位好,不好意思想請問各位一個問題 就是目前有個學校作業,我打算使用JPANEL來建立一個畫布 目前初步程式如下 public static class canvas extends JPanel implements MouseListener,MouseMotionListener{ int x = 0; int y = 0; int startx, starty, endx, endy;//起始座標與終點座標 public canvas() { super.setBackground(Color.blue); super.addMouseListener(this); super.addMouseMotionListener(this); super.setSize(800, 800); super.setVisible(true); } public void mousePressed(MouseEvent e){ startx = e.getX(); starty = e.getY(); } public void mouseReleased(MouseEvent e){ endx = e.getX(); endy = e.getY(); } public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseClicked(MouseEvent e) {} public void mouseDragged(MouseEvent e) {} public void mouseMoved(MouseEvent e) {} public void paint(Graphics g) { g.setColor(Color.black); g.drawLine(startx, starty, endx, endy); } } public static void main(String[] args) { JFrame Editor = new JFrame("UML Editor"); Container content = Editor.getContentPane(); content.setBackground(Color.green); /////////////////////////////////////////////////////////////////////// JPanel toolbar = new JPanel(); toolbar.setBackground(Color.black); content.add(toolbar, BorderLayout.WEST); JPanel menu = new JPanel(); menu.setBackground(Color.black); content.add(menu, BorderLayout.NORTH); /////////////////////////////////////////////////////////////////////// canvas area=new canvas(); area.setBackground(Color.black); content.add(area , BorderLayout.CENTER); area.setVisible(true); Editor.setSize(1500, 800); Editor.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Editor.setVisible(true); } ---------------------------------------------------------------------------- 我的TOOLBAR跟MENU都能正常顯現,但是唯獨最後的AERA無法 如果我只加入後面那項,那連FRAME本身的背景色都無法顯示,想請問 是否是我的繼承項有問題????? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.221.72 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/java/M.1587122684.A.366.html
AI3767: paint()先加上一行 super.paint(g); 試試 04/17 22:10
ArthurJack: 可以正常顯示了,十分感謝 04/17 22:27
davidlv7621: 進ja? 05/23 17:44