Criando uma interface java swing

2 métodos:

Conteúdo

Faça a janela principalrespostas de programação para as ações do usuário

Primeiro, você precisa as noções básicas de objetos Java e interfaces. Assumimos e saber.


Este artigo explica como criar um programa simples com o código fonte.


Para inserir botões, campos de texto e outros componentes na janela do programa, você precisa saber JPanel. É um tipo de componentes do recipiente, que ocupa a porção utilizável da janela e mostra os componentes de uma forma simples. Como os diferentes componentes são organizados dependerá do "layout", onde têm colocado cada componente. Para a programação manual, você provavelmente terá que, pelo menos, saber sobre "BorderLayout"O que coloca quatro componentes nas laterais e um grande componente no meio. Você também precisa saber "FlowLayout"O que ele vai mostrar juntos em uma linha horizontal. E, finalmente, com GridLayout Você pode organizar componentes arbitrariamente em uma tabela n * m. Existem mais tipos de "layout", mas para iniciantes são muito complexos. A ideia fundamental é que um componente não pode ser apenas uma caixa de seleção de um botão ou também pode ser outro "JPanel". Você pode criar uma interface de usuário complexa, apenas a colocação de painéis em um outro e escolher o tipo de "layout" de cada um.


Depois de ter a ocorrência de "JPanel", chama o método ".setLayout" e acrescenta ".add" para adicionar componentes a ele. Para o "BorderLayout" necessidade de dar a posição como o segundo parâmetro. Por exemplo, o "myPanel.add (myButton, BorderLayout.NORTH)" colocar o botão na extremidade superior.


O recipiente superior, que aparece na janela que representa o aplicativo Java, não é um "JPanel", mas "JFrame". Um exemplo de uma chamada para adicionar o painel principal com a instância do "JFrame" seria "miJFrame.getContentPane (). Adicionar (miJPanel, BorderLayout.Center)".


Para a sua aplicação não só pode ser, mas para interagir com o usuário, use a interface "ActionListener". Cada tipo de interface não-abstrato "ActionListener" tem um método único "actionPerformed", que é chamado automaticamente quando o usuário realiza uma ação com o componente em que colocar o detector (a ação com um botão, obviamente, pressione-o ). Para inserir um acções detector para um botão ou outro componente chama o método ".addActionListener.".

método 1
Faça a janela principal
1
Crie uma classe que estenda a classe "JFrame". Esta classe irá conter todos os componentes da interface do usuário, como botões e áreas de texto.
  • 2
    Planejando a concepção global do seu primeiro programa. Um bom começo pode ser com um painel central com "BorderLayout" com outro painel na parte inferior ( "BorderLayout.South"). O painel inferior pode ser um "FlowLayout" e contêm vários botões, caixas de seleção ou outros componentes similares. Finalmente, colocar um grande "JTextArea" no centro do centro "layout". Você pode fazer as interações do usuário com os métodos "getText ()" e "setText ()".
  • 3
    Faça sua classe construtor. Este construtor deve criar todos os painéis e componentes ter pensado, adequadamente colocá-los e adiciona um painel final que todos eles contém. "MiFrame.getContentPane () add (miGranPanel, BorderLayout.Center)".


  • 4
    Digite o método "main" que é o ponto de entrada para o programa. Neste método cria uma instância de sua "frame", defina o tamanho inicial ea posição (use ".setSize (x, y)" e ".setLocation (largura, altura)") e tê-lo exibido na tela usando ".setVisible (true)".
  • método 2
    respostas de programação para as ações do usuário


    1
    Faça sua janela implementa a interface "ActionListener". Isso permitirá que sua classe detecta componentes de interatividade.
  • 2
    Para cada botão, caixa de seleção ou qualquer outra coisa que você tenha criado, invoca seu método ".addActionListener", passando a janela utilizada ( "this") como parâmetro.


  • 3
    Alterar método abstract "ActionListener" por actionPerformed (ActionEvent evento) ". Neste método, você deve colocar condicional "se" para ver os eventos onde eles estão vindo. Estes condicional deve ter uma condição semelhante "se (event.getSource () == button1)". Isto prova onde o evento vem e se se trata de seu botão. Dentro do "se", acrescenta a necessidade de tornar o programa quando o botão é pressionado.
  • 4
    JTextArea Tem um método .setText ("meu texto") que é uma boa maneira para o programa para apresentar uma resposta à sua ação.
  • dicas

    • É mais difícil implementar a interface "MouseListener" e usar ".addMouseListener" a atividade de registro em qualquer componente.
    • Se você deseja criar seus próprios gráficos objetos (como um tabuleiro de xadrez), verifique lona. Ele pode ser colocado em sua aplicação como qualquer outro componente, mas você precisa escrever o método ".paint" que irá lidar totalmente desenhar na tela.
    • Se você precisar que o usuário digite uma seqüência, use o método estático "JOptionPane.showInputDialog (this," A minha mensagem ")". O primeiro parâmetro deve ser a janela do seu aplicativo ou outro painel (o campo de texto aparece no centro do elemento root). O método retorna o valor que o usuário inseriu no campo de texto.
    • Na prática, muitos programas será o componente mais útil "JTable". Uma vez que você já domina o básico, usá-lo diretamente.
    • É possível colocar todos os componentes em um único painel usando "GridBagLayout" mas esta classe é mais difícil de utilizar.

    avisos

    • Alguns ambientes de desenvolvimento oferecem a possibilidade de compor a interface de usuário do balanço de uma forma atraente para o usuário. No entanto, geralmente, eles não são capazes de fazer um painel com funções avançadas corretamente. Essas funções podem ser árvores, tabelas, listas, componentes e modelos de dados personalizados "caixas de combinação" que alteram o conteúdo enquanto o programa está em execução. Se mais tarde você precisa escrever código-fonte manualmente para acabar com recursos avançados, pode ser colocado em uma tortura saber isso. Portanto, você não deve abusar muito de qualquer ambiente para a criação de interfaces de usuário, e mais tarde irá limitar suas capacidades de programação.
    • Swing é um programa single-threaded. Se seu aplicativo precisa de muito poder de computação seu programa irá congelar até que o método "actionPerformed" para retornar algum valor. Aprender e usar Java com vários segmentos, a fim de manter o balanço utilizável enquanto o processo está sendo executado carga elevada.
    • A maioria dos métodos de componentes Swing só pode ser chamado de forma segura a partir do segmento que chama-lo, ou seja, que chama de ".actionPerformed" e outros métodos semelhantes.

    Se você precisa chamá-los de outro segmento (por exemplo, para atualizar uma barra de progresso ou mostrar os resultados de um processo em curso), marque "SwingUtils.invokeLater".

    Artigos Relacionados