亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在java程序中的paint畫圖畫不了,請問為什么repaint不識別?

在java程序中的paint畫圖畫不了,請問為什么repaint不識別?

回首憶惘然 2022-05-24 15:11:54
import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.awt.geom.*;class lx11 implements ActionListener,MouseListener{String s="htx"; float x1,y1,x2,y2;JMenuBar bar=new JMenuBar();JMenu menu=new JMenu("請點擊選擇用鼠標畫矩形或寫字");JMenuItem htx=new JMenuItem("畫矩形");JMenuItem xwz=new JMenuItem("寫文字");JFrame f=new JFrame("畫圖");public lx11(){Container cp=f.getContentPane();f.setSize(200,320);f.show();bar.setOpaque(true);f.setJMenuBar(bar);bar.add(menu);menu.add(htx);menu.add(xwz);htx.addActionListener(this);xwz.addActionListener(this);f.addWindowListener(new WinLis());f.addMouseListener(this);}public void actionPerformed(ActionEvent e){if(e.getSource( )==htx) s="htx";if(e.getSource( )==xwz) s="xwz";}public void mousePressed(MouseEvent e){x1=(float)e.getX();y1=(float)e.getY();}public void mouseReleased(MouseEvent e){x2=(float)e.getX();y2=(float)e.getY();}public void mouseExited(MouseEvent e){}public void mouseEntered(MouseEvent e){}public void mouseClicked(MouseEvent e){}public void paint(Graphics d){Graphics2D g= (Graphics2D)d;f.paint(g);g.setStroke(new BasicStroke(4));if(s=="htx"){ Rectangle2D.Float rec=new Rectangle2D.Float(x1,y1,x2,y2);g.drawString(s,100,100);}}public void update(Graphics g){ paint(g); }class WinLis extends WindowAdapter{ public void windowClosing(WindowEvent e){ System.exit(0); }}}public class lx11_8{public static void main(String[ ] args){ new lx11(); }}
查看完整描述

2 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

幾個問題
1.沒有繼承frame
2.沒有repaint
3.整個結構很混亂
可以試試一個大類從frame繼承,然后把監聽的東西弄成內部類、匿名類

查看完整回答
反對 回復 2022-05-30
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

最上面的類后面 加一句 extends JFrame

查看完整回答
反對 回復 2022-05-30
  • 2 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號