- setContentAreaFilled(false);
- setFocusPainted(false);
- setBorderPainted(false);
- setOpaque(false);
Shape area = new RoundRectangle2D.Float(x, y, w-1, h-1, getRadioButton(), getRadioButton());
de esta forma tendré dibujado en mi botón un rectángulo con bordes redondeados, ahora para pintar el JButton necesito definir o declaras 4 variables Color donde cada una tendrá valores flotantes del 0 al 1 estos valores serán los colores translucidos donde tendré que combinarlos para formar un gradiente, para eso necesito pintar al JButton con el métodosetPaint() un gradiente es decir tendré que construir o llamar ala claseGradientPaint esta clase me permita pintar o dibujar un gradiente recibiendo las coordenadas X y Y del botón mas los colores.
protected void paintComponent(Graphics g) { int x = 0; int y = 0; int w = getWidth(); int h = getHeight(); Graphics2D g2 = (Graphics2D)g.create(); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); Shape area = new RoundRectangle2D.Float(x, y, w-1, h-1, getRadioButton(), getRadioButton()); color_1 = color_trans_1; color_2 = color_trans_2; ButtonModel m = getModel(); if(m.isPressed()) { /**SI EL BUTON FUE PRESIONADO*/ color_1 = color_trans_4; color_2 = color_trans_3; }else if(m.isRollover()) { /*****SI PASA POR ENCIMA*****/ color_1 = color_trans_3; color_2 = color_trans_4; } /*****creo un gradiente*******/ g2.setPaint(new GradientPaint(x, y, color_1, x, y+h, color_2, true)); g2.fill(area); g2.setPaint(color_trans_2); g2.draw(area); g2.dispose(); super.paintComponent(g); }
Tambien para dar un efecto mas notable hago uso de un Modelo del JButton,llamo a la claseButtonModel para detectar cuando el boton fue presionado o el cursor esta encima de boton de esta forma puedo cambiar los colores y dar otro efecto.
les dejo el codigo fuente completo.
Insurance Web Hosting y Dominios Bancos Claim Donate Your Car for Kids Loans And Donation Colegios en línea Seguro Attomey Donate Car to Charity California Commodities Credit Juegos online Salud Politics Gas/Electricity Loans domains Treatment Mortgage Abogados online Negocios Conference Call insurance Lawyer Casino reviews Software Donate Degree Hosting lawyers Forex Servicios duro de recuperación de la unidad de datos Política Hosting gratuito Recovery Trading Los préstamos y donaciones Registro de Dominios baratos Hosting Online casino Transfer Technology Rehab Classes Cooking Recipes Cord Blood Cómo hacer dinero en línea Online Making Money banks
gracias
ResponderEliminar