Javaswing单选框组件前的圆点能去掉吗
时间: 2024-03-06 22:48:09 浏览: 28
可以通过设置单选框的UI来实现去掉圆点的效果。具体做法如下:
1. 创建一个自定义的UI类,继承自javax.swing.plaf.basic.BasicRadioButtonUI。
2. 在UI类中重写paint方法,将圆点的绘制过程覆盖掉,例如可以直接绘制一个空心圆。
3. 在创建单选框时,调用setUI方法将自定义的UI类作为参数传入。
示例代码如下:
```
import java.awt.Graphics;
import javax.swing.AbstractButton;
import javax.swing.ButtonModel;
import javax.swing.plaf.basic.BasicRadioButtonUI;
public class MyRadioButtonUI extends BasicRadioButtonUI {
@Override
protected void paintIcon(Graphics g, JComponent c, Rectangle iconRect) {
// 不绘制圆点
}
@Override
protected void paintFocus(Graphics g, Rectangle t, Dimension d) {
// 不绘制焦点
}
@Override
public synchronized void paint(Graphics g, JComponent c) {
AbstractButton b = (AbstractButton) c;
ButtonModel model = b.getModel();
boolean pressed = model.isPressed();
boolean armed = model.isArmed();
boolean selected = model.isSelected();
boolean enabled = model.isEnabled();
boolean rollover = model.isRollover();
boolean hasFocus = b.hasFocus();
if (enabled) {
if (pressed && armed) {
paintButtonPressed(g, b);
} else if (selected) {
paintButtonSelected(g, b);
} else if (rollover) {
paintButtonRollover(g, b);
} else {
paintButtonNormal(g, b);
}
} else {
paintButtonDisabled(g, b);
}
if (hasFocus && isFocusPainted(b)) {
paintFocus(g, getRepaintInsets(c), b.getSize());
}
}
}
```
然后在创建单选框时调用setUI方法:
```
JRadioButton radioButton = new JRadioButton("选项");
radioButton.setUI(new MyRadioButtonUI());
```
这样就可以实现去掉圆点的效果了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)