java图形界面,怎么在java面板中,添加图片?如图,想在鼠标这个地方添加一张图片,语法怎么写?

java图形界面,怎么在java面板中,添加图片?如图,想在鼠标这个地方添加一张图片,语法怎么写?,第1张

setIcon

public void setIcon(Icon icon)

定义此组件将要显示的图标。如果 icon 值为 null,则什么也不显示。

此属性的默认值为 null。

这是一个 JavaBeans 绑定属性。

另请参见:

setVerticalTextPosition(int), setHorizontalTextPosition(int), getIcon()

以下是一个简单的Java GUI程序,可以实现两个内容(字符串、图片等)之间的交换:

Copy code

import java.awt.*

import java.awt.event.*

import javax.swing.*

public class SwapContent extends JFrame implements ActionListener {

private JLabel label1, label2

private JButton swapBtn

public SwapContent() {

// 设置窗口大小和标题

setSize(400, 300)

setTitle("Swap Content Demo")

// 创建标签和按钮

label1 = new JLabel("Content A")

label2 = new JLabel("Content B")

swapBtn = new JButton("Swap")

// 设置标签和按钮的位置和大小

label1.setBounds(50, 50, 100, 30)

label2.setBounds(200, 50, 100, 30)

swapBtn.setBounds(150, 150, 100, 30)

// 将标签和按钮添加到窗口中

add(label1)

add(label2)

add(swapBtn)

// 注册按钮的事件监听器

swapBtn.addActionListener(this)

// 设置窗口的默认关闭方式

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

}

@Override

public void actionPerformed(ActionEvent e) {

// 获取标签的内容

String temp = label1.getText()

label1.setText(label2.getText())

label2.setText(temp)

}

public static void main(String[] args) {

// 创建窗口对象并显示

SwapContent sc = new SwapContent()

sc.setVisible(true)

}

}

该程序创建了一个窗口,包括两个标签(label1和label2)和一个按钮(swapBtn)。当用户点击按钮时,程序会交换label1和label2的内容。

在程序的actionPerformed方法中,程序将label1和label2的内容交换。具体实现是,首先使用label1.getText()获取label1的内容,并将其保存到一个临时变量temp中;然后,将label1的内容设置为label2的内容,将label2的内容设置为temp的值。这样,label1和label2的内容就被互换了。

在main方法中,程序创建了SwapContent对象,并将其显示出来。程序运行后,用户可以在窗口中交换label1和label2的内容。

在awt/swing里绘制圆形的方法是

g.drawOval(x, y,width, height)

x,y代表外接正方形的左顶点坐标

width和height相同是就是圆形.代表直径

参考代码

import java.awt.Color

import java.awt.Font

import java.awt.Graphics

import javax.swing.JFrame

import javax.swing.JPanel

public class TestFrame extends JFrame {

public TestFrame() {

add(new CirclePanel())

setSize(300, 230)

setLocationRelativeTo(null)

setDefaultCloseOperation(EXIT_ON_CLOSE)

}

public static void main(String[] args) {

new TestFrame().setVisible(true)

}

//绘制图形的面板

class CirclePanel extends JPanel {

int R=50//直径

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g)

g.setColor(Color.BLUE)//设置颜色为蓝色

g.drawOval(80, 30, R, R)//圆形外接矩形的左顶点坐标是80,30

g.setColor(Color.BLACK)

g.drawOval(120, 30, R, R)

g.setColor(Color.RED)

g.drawOval(160, 30, R, R)

g.setColor(Color.YELLOW)

g.drawOval(100, 65, R, R)

g.setColor(Color.GREEN)

g.drawOval(140, 65, R, R)

g.setColor(Color.BLUE)//设置颜色为蓝色

g.setFont(new Font("宋体",Font.BOLD,22))//设置字体

g.drawString("奥运五环旗", 90, 160)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11792780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存