java UI界面

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/S_T_F666/article/details/77854276

1 按钮 

Java代码  

1. JButton btn= new JButton();  

2. //设置按钮默认图标  

3. btn.setIcon();  

4. // 设置按钮按下图标  

5. btn.setPressedIcon();     

6. //设置按钮点击图标    

7. btn.setRolloverIcon();    

8. // 设置按钮无边框    

9. btn.setBorderPainted(false);  

10. //设置按钮背景透明  

11. startbtn.setContentAreaFilled(false);  




2 输入框 

Java代码  

1. //设置输入框透明   

2.         textfield.setOpaque(false);  

3. // 设置输入框边框无  

4.         textfield.setBorder(new EmptyBorder(0,0,0,0));  




3 修改滚动条样式 
重写BasicScrollBarUI 

Java代码  

1. import java.awt.AlphaComposite;  

2. import java.awt.Color;  

3. import java.awt.Dimension;  

4. import java.awt.GradientPaint;  

5. import java.awt.Graphics;  

6. import java.awt.Graphics2D;  

7. import java.awt.Rectangle;  

8. import java.awt.RenderingHints;  

9.   

10. import javax.swing.ImageIcon;  

11. import javax.swing.JButton;  

12. import javax.swing.JComponent;  

13. import javax.swing.JScrollBar;  

14. import javax.swing.plaf.basic.BasicScrollBarUI;  

15.   

16. /** 

17.  * 自定义滚动条UI 

18.  *  

19.  * @author zsg 

20.  */  

21. public class DemoScrollBarUI extends BasicScrollBarUI {  

22.   

23.     @Override  

24.     protected void configureScrollBarColors() {  

25.         // 把手  

26.         // thumbColor = Color.GRAY;  

27.         // thumbHighlightColor = Color.BLUE;  

28.         // thumbDarkShadowColor = Color.BLACK;  

29.         // thumbLightShadowColor = Color.YELLOW;  

30.   

31.         // 滑道  

32.         trackColor = Color.black;  

33.         setThumbBounds(00310);  

34.         // trackHighlightColor = Color.GREEN;  

35.     }  

36.   

37.     /** 

38.      * 设置滚动条的宽度 

39.      */  

40.     @Override  

41.     public Dimension getPreferredSize(JComponent c) {  

42.         // TODO Auto-generated method stub  

43.         c.setPreferredSize(new Dimension(50));  

44.         return super.getPreferredSize(c);  

45.     }  

46.   

47.     // 重绘滑块的滑动区域背景  

48.     public void paintTrack(Graphics g, JComponent c, Rectangle trackBounds) {  

49.         Graphics2D g2 = (Graphics2D) g;  

50.         GradientPaint gp = null;  

51.         //判断滚动条是垂直的 还是水平的  

52.         if (this.scrollbar.getOrientation() == JScrollBar.VERTICAL) {  

53.             //设置画笔  

54.             gp = new GradientPaint(00new Color(808080),  

55.                     trackBounds.width, 0new Color(808080));  

56.         }  

57.         if (this.scrollbar.getOrientation() == JScrollBar.HORIZONTAL) {  

58.             gp = new GradientPaint(00new Color(808080),  

59.                     trackBounds.height, 0new Color(808080));  

60.         }  

61.   

62.         g2.setPaint(gp);  

63.         //填充Track  

64.         g2.fillRect(trackBounds.x, trackBounds.y, trackBounds.width,  

65.                 trackBounds.height);  

66.         //绘制Track的边框  

67. /*       g2.setColor(new Color(175, 155, 95)); 

68.          g2.drawRect(trackBounds.x, trackBounds.y, trackBounds.width - 1, 

69.                 trackBounds.height - 1); 

70.                 */  

71.         if (trackHighlight == BasicScrollBarUI.DECREASE_HIGHLIGHT)  

72.             this.paintDecreaseHighlight(g);  

73.         if (trackHighlight == BasicScrollBarUI.INCREASE_HIGHLIGHT)  

74.             this.paintIncreaseHighlight(g);  

75.     }  

76.   

77.     @Override  

78.     protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) {  

79.         // 把绘制区的x,y点坐标定义为坐标系的原点  

80.         // 这句一定一定要加上啊,不然拖动就失效了  

81.         g.translate(thumbBounds.x, thumbBounds.y);  

82.         // 设置把手颜色  

83.         g.setColor(new Color(464646));  

84.         // 画一个圆角矩形  

85.         // 这里面前四个参数就不多讲了,坐标和宽高  

86.         // 后两个参数需要注意一下,是用来控制角落的圆角弧度  

87.         // g.drawRoundRect(0, 0, 5, thumbBounds.height - 1, 5, 5);  

88.         // 消除锯齿  

89.         Graphics2D g2 = (Graphics2D) g;  

90.         RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING,  

91.                 RenderingHints.VALUE_ANTIALIAS_ON);  

92.         g2.addRenderingHints(rh);  

93.         // 半透明  

94.         g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,  

95.                 0.5f));  

96.         // 设置填充颜色,这里设置了渐变,由下往上  

97.         // g2.setPaint(new GradientPaint(c.getWidth() / 2, 1, Color.GRAY,  

98.         // c.getWidth() / 2, c.getHeight(), Color.GRAY));  

99.         // 填充圆角矩形  

100.         g2.fillRoundRect(005, thumbBounds.height - 155);  

101.     }  

102.   

103.     /** 

104.      * 创建滚动条上方的按钮 

105.      */  

106.     @Override  

107.     protected JButton createIncreaseButton(int orientation) {  

108.         JButton button = new JButton();  

109.         button.setBorderPainted(false);  

110.         button.setContentAreaFilled(false);  

111.         button.setBorder(null);  

112.         return button;  

113.     }  

114.   

115.     /** 

116.      * 创建滚动条下方的按钮 

117.      */  

118.     @Override  

119.     protected JButton createDecreaseButton(int orientation) {  

120.         JButton button = new JButton();  

121.         button.setBorderPainted(false);  

122.         button.setContentAreaFilled(false);  

123.         button.setFocusable(false);  

124.         button.setBorder(null);  

125.         return button;  

126.     }  

127.   

128.       

129.   

130. }  



 

猜你喜欢

转载自blog.csdn.net/S_T_F666/article/details/77854276