Java滑动条控制相切圆
来源:互联网 发布:单片机多线程 编辑:程序博客网 时间:2024/06/16 23:17
贴吧上看到有人发题:
package King.exercise;import java.awt.BasicStroke;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Point;import javax.swing.Box;import javax.swing.BoxLayout;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JSlider;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;public class TangentCircle extends JPanel { private final int LEN = 80; private int r = LEN/2; private final int WIDTH = 400; private final int HEIGHT = 240; private Point leftCenter = new Point((WIDTH-LEN)/2, HEIGHT/2); private Font userDefinedFont = new Font("微软雅黑", Font.BOLD, 19); private final String description = "左侧圆的半径:"; private JLabel label = new JLabel(); { label.setFont(userDefinedFont); label.setText(description + r); } public TangentCircle(){ super(); setPreferredSize(new Dimension(WIDTH, HEIGHT)); JFrame frame = new JFrame("相切圆"); frame.add(this); frame.add(createSlider(), BorderLayout.SOUTH); frame.setBounds(300, 300, 0, 0); frame.pack(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } public static void main(String[] args){ new TangentCircle(); } private Box createSlider(){ JSlider slider = new JSlider(0, LEN); slider.setPaintTicks(true); slider.setMajorTickSpacing(10); slider.setMinorTickSpacing(1); slider.setPaintLabels(true); slider.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { r = ((JSlider) e.getSource()).getValue(); label.setText(description + r); repaint(); } }); Box box = new Box(BoxLayout.Y_AXIS); JPanel p = new JPanel(new FlowLayout(FlowLayout.LEFT)); p.add(label); box.add(p); box.add(slider); return box; } @Override protected void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; g2d.setStroke(new BasicStroke(4)); g2d.drawOval((int)leftCenter.getX()-r, (int)leftCenter.getY()-r, 2*r,2*r); g2d.drawOval((int)leftCenter.getX()+r, (int)leftCenter.getY()-LEN+r, 2*(LEN-r), 2*(LEN-r)); }}
0 0
- Java滑动条控制相切圆
- 滑动条的风格控制
- JavaScript 滑动条控制百分比
- 滑动条控制页面内容
- 通过控制滑动条来控制文章的滑动
- C++编写任意次clampedB样条曲线(曲线分别与第一个控制点和最后一个控制点的第一边和最后一边相切)
- java 滑动导航控制
- 滑动条控制(Slider Control)
- CSS对浏览器滑动条颜色控制
- opencv之滑动条控制视频
- unity 滑动条控制动画播放代码
- unity 滑动条控制动画播放代码
- HDU 5531 Rebuild 相切的圆们
- 计算几何中的圆与圆相切和圆与直线相切
- cocos2d for python 实现Scroll 控制功能,滑动条
- Unity 据手势滑动速度 控制能量条的增长
- UISlider 滑动条 按比例控制 UIProgressView 进度条 变化
- Unity 滑动条Slider控制音量大小(笔记)
- Android 获取屏幕尺寸与密度
- iOS圆盘转动引导图的简单实现
- .net 隐藏元素
- offsetof
- Maximum Product Subarray
- Java滑动条控制相切圆
- IOS 开源项目(各种有用的第三方库)
- 7.Swift教程翻译系列——控制流之循环
- dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算(终结版)
- mysql-5.0.27-win32安装
- Minimum Depth of Binary Tree
- [UVA12063] Zeros and Ones && 数位DP
- 应公司需要,开发了一个CPU卡的发卡工具
- 使用v7 包报错 No resource found