Swing é um kit de ferramentas da GUI projetado para Java.
O balanço faz parte da classe Basic Java.
O giro inclui dispositivos gráficos de interface do usuário (GUI), como caixas de texto, botões, painéis e tabelas separando.
O Swing fornece muitos elementos melhores de exibição de tela que o AWT. Eles estão escritos em Java Pure, para que possam encontrar plataformas como o próprio Java, o que não é como AWT. Eles fazem parte do JFC. Eles suportam painéis e temas substituíveis (temas específicos para vários padrões de sistemas operacionais), mas, em vez de realmente usar dispositivos fornecidos por plataformas nativas, eles simplesmente os imitam na superfície. Isso significa que você pode usar qualquer painel suportado pela Java em qualquer plataforma. A desvantagem dos componentes leves é que eles demoram a executar, e a vantagem é que eles podem adotar um comportamento unificado em todas as plataformas.
Vamos dar uma olhada em um exemplo simples de implementar o botão:
Importar java.awt.*; importar java.awt.geom. Dimensão tamanho = getPreferredSize (); size.width = size.Height = Math.max (size.width, size.Height); setPreferredSize (size); // Esta chamada faz com que o jbutton não desenhe o fundo, mas nos permite desenhar um fundo de círculo. setContentEArFiled (falso); this.setBackground (color.gray);} // desenhe o fundo e a etiqueta do círculo, o Void PaintComponent (gráficos g) {if (getModel (). 0, getSize (). Largura - 1, getSize (). Altura - 1); // Esta chamada desenhará um rótulo e o retângulo de foco. Super.PaintComponent (g);} // Use um arco simples para desenhar o limite do botão. Void Paintborder protegido (gráficos g) {g.setColor (getforeground ()); g.drawoval (0, 0, getSize (). Largura - 1, getSize (). Altura - 1);} // Detectar a forma do evento, a forma de formato public; if (shape == null ||! shape.getBounds (). equals (getBounds ())) {shape = new ellipse2d.float (0, 0, getwidth (), gate -peso () com staft de retorno. JButton Button = new Rbutton ("Jackpot"); imageicon IC = new Imageicon ("e: //clientFormssql//icons//item_group.gif"); jbutton button2 = novo jbutton (IC); Button.Setback.Clound.Gray); // generate a um quadro para um quadro para this. Jframe quadro = new jframe (); frame.setDefaultCloseoperation (jframe.exit_on_close); // chame.getContentPane (). FlowLayout ()); Frame.SetSize (200, 200); Frame.setVisible (true);}}resultado:
Em seguida, compartilharei um exemplo Java de botões que implementam eventos simples de cliques.
Aqui está uma dica para fazer botões de balanço redondos. De fato, esse truque é convenientemente aplicável a botões de qualquer forma, mas só fazemos um botão redondo. Quando você faz um botão redondo, precisa fazer duas coisas. A primeira coisa é sobrecarregar um método de desenho apropriado para desenhar um círculo. A segunda coisa é definir alguns eventos para que o botão responda somente quando você clicar no intervalo do botão circular (não o alcance do retângulo que contém o botão circular).
importar java.awt.*; importar java.awt.geom.*; importar javax.swing.*; classe pública Roundbutton estende JButton {public Roundbutton (String Label) {Super (Label); // Essas declarações estendem o botão a um círculo em vez de uma elipse. Dimensão tamanho = getPreferredSize (); size.width = size.Height = Math.max (size.width, size.Height); setPreferredSize (size); // Esta chamada faz com que o jbutton não desenhe o fundo, mas nos permite desenhar um fundo de círculo. setContentArEabilled (false);} // Desenhe o fundo e a etiqueta do círculo, o Void PaintComponent (gráficos g) {if (getModel (). getSize (). Largura - 1, getSize (). Altura - 1); // Esta chamada desenhará um rótulo e focará o retângulo. Super.PaintComponent (g);} // Use um arco simples para desenhar o limite do botão. Void Paintborder protegido (gráficos g) {g.setColor (getforeground ()); g.drawoval (0, 0, getSize (). Largura - 1, getSize (). Altura - 1);} // Detectar a forma do evento, a forma de formato public; if (shape == null ||! shape.getBounds (). equals (getBounds ())) {shape = new ellipse2d.float (0, 0, getwidth (), gate -peso () com staft de retorno. Button JButton = New Roundbutton ("Jackpot"); Button.SetBackground (color.green); // Gere um quadro para exibir este botão. JFRame Frame = new JFrame (); Frame.GetContentPane (). Setbackground (color.yellow); frame.getContentPane (). Add (Button); Frame.getContentPane (). SetLayout (new FlowLayout ()); Frame.Setsize (150, 150); Frame.setVisible (True) ();resultado:
Clique em Evento:
Como queremos preservar a maior parte da funcionalidade do JButton, deixamos a classe Roundbutton herdar a classe JButton. No construtor de botões redondos, o método setContentareAabiled () é chamado. Isso faz com que o botão desenhe uma área de foco retangular, mas não o plano de fundo.
Agora precisamos desenhar um fundo de círculo. Isso é conseguido sobrecarregando o método PaintComponent (). Esse método usa o método gráfico.FILOVAL () para desenhar um círculo sólido. Em seguida, o método pintComponent () chama super.paintComponent () para desenhar um rótulo no círculo sólido.
Este exemplo também substitui o método Paintborder () para desenhar uma borda no limite do botão circular. Se você não deseja fronteiras, também não pode sobrecarregar esse método. Este método chama o método gráfico.Drawoval () para desenhar uma borda fina no limite do círculo.
NOTA: Em JDKTM1.2.2, quando você arrasta o mouse para dentro ou para fora do intervalo do botão, o comportamento de JButton tem um pequeno bug. Teoricamente, quando você clica no mouse no botão circular e arraste o mouse para longe do limite do botão, o botão deve alterar sua forma. Quando você arrasta o mouse para o limite do botão, o botão deve responder à sua forma. Infelizmente, o código que contém esse comportamento não pode chamar o método contains (). Em vez disso, é usar apenas o 'intervalo de limite' do botão (que é o intervalo retangular mínimo que contém o botão). Observe que, se você arrastar o mouse ligeiramente dentro do limite do círculo, ou seja, deixe o alcance do círculo, mas não o limite, o botão não alterará sua forma.
Resumir
O exposto acima é todo o conteúdo deste artigo sobre a programação Java para implementar o código da instância do botão rodada, espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!