日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 组件 未显示出来_java – 自定义组件未显示

發布時間:2025/3/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 组件 未显示出来_java – 自定义组件未显示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當我將組件的大小設置為超出組件位置的x和y時,它們都會顯示出來,否則它們就不會出現.

這是我的代碼:

public class AdamakPogram{

public static void main(String[] args) {

PlayGround playGround = new PlayGround();

Adamak ad1 = new Adamak();

Adamak ad2 = new Adamak();

ad1.setLocation(100,100);

ad2.setLocation(150, 100);

ad1.addMouseListener(new FocusListener(ad1));

ad1.addKeyListener(new ArrowListener(ad1));

playGround.addPerson(ad1);

ad2.addMouseListener(new FocusListener(ad2));

ad2.addKeyListener(new ArrowListener(ad2));

playGround.addPerson(ad2);

}

}

我的PlayGround課程:

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

public class PlayGround extends JFrame{

private static final long serialVersionUID = 1L;

private JPanel zone;

public PlayGround() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 800, 600);

setResizable(false);

zone = new JPanel();

zone.setBorder(new EmptyBorder(5, 5, 5, 5));

zone.setBounds(100, 100, 800, 600);

setContentPane(zone);

zone.setLayout(null);

setVisible(true);

}

public void addPerson(Adamak adamak){

zone.add(adamak);

revalidate();

repaint();

}

public JPanel getZone() {

return zone;

}

public void setZone(JPanel zone) {

this.zone = zone;

}

}

我的adamak(自定義組件)類:

import java.awt.Graphics;

import java.awt.Point;

import javax.swing.JComponent;

public class Adamak extends JComponent {

private static final long serialVersionUID = 1L;

@Override

protected void paintComponent(Graphics arg0) {

super.paintComponent(arg0);

Point point = getLocation();

arg0.drawRect(point.x-10, point.y-10, 20, 50);//drawing stomach

arg0.drawLine(point.x+10,point.y, point.x+20, point.y+50);//drawing right hand

arg0.drawLine(point.x-10, point.y, point.x-20, point.y+50);//drawing left hand

arg0.drawLine(point.x, point.y-10, point.x, point.y-20);//drawing neck

arg0.drawLine(point.x-5, point.y+40, point.x-5, point.y+100);//drawing left leg

arg0.drawLine(point.x+5, point.y+40, point.x+5, point.y+100);//drawing right leg

arg0.drawOval(point.x-10, point.y-40, 23, 20);//drawing head

arg0.drawRect(point.x-20, point.y-40, 40, 140);

}

public void moveRight(){

Point point = getLocation();

if((point.x+1-20) < 710){

setLocation(new Point(point.x+1, point.y));

setBounds(point.x-20,point.y-40,710-40,461-140);

repaint();

}

}

public void moveLeft(){

Point point = getLocation();

if((point.x-1-20) > 0){

setLocation(new Point(point.x-1,point.y));

setBounds(point.x-20,point.y-40,710-40,461-140);

repaint();

}

}

public void moveUp(){

Point point = getLocation();

if((point.y-1-40) > 0){

setLocation(new Point(point.x,point.y-1));

setBounds(point.x-20,point.y-40,710-40,461-140);

repaint();

}

}

public void moveDown(){

Point point = getLocation();

if((point.y+1-100) < 461){

setLocation(new Point(point.x,point.y+1));

setBounds(point.x-20,point.y-40,710-40,461-140);

repaint();

}

}

}

任何幫助,將不勝感激.

總結

以上是生活随笔為你收集整理的java 组件 未显示出来_java – 自定义组件未显示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。