Você está na página 1de 3

INSTITUTO CINCIAS COMPUTAO E ADMINISTRAO

CURSO DE SISTEMAS INFORMTICOS


ACS-3 DE LINGUAGENS E TCNICAS DE PROGRAMAO II
durao120min

data: 25/04/2016

Leia com ateno e responda com clareza as questes que se seguem.

O ICCA pretende a modernizao da sua gesto. Face a essa necessidade fez todo o trabalho
de Anlise e modelao que resultou num modelo fsico de dados. Caro estudante
convidado a fazer parte da equipe de implementao, e cabe a si as tarefas que dizem
respeito entidade DISCIPLINA com seguintes caractersticas: cdigo, nome, regime e
curso e a figura abaixo servir de entrada de dados.

Neste mbito execute as seguintes tarefas.


1. A criar o objecto Disciplina com trs construtores (vazio, com cdigo, e com todos
elemsntos), mtodos getters, setters, toString e equals. [2.5val]
2. Criar o programa de desenha o formulrio da figura, inclua nas variveis o array das
disciplina e um contador. Fazer eventos que insere uma disciplina no array e outro que
imprime todas disciplinas nos botes bravar e imprimir respectivamente.

--------FIM------

LTP-I I

CORRECO DA ACP-2

1. OBJECTO DISCIPLINA.
public class Disciplina {
private int codigo;
private String nome;
private String regime;
private String curso;
public Disciplina() { }
public Disciplina(int codigo) {

this.codigo = codigo; }

public Disciplina(int codigo, String nome, String regime, String curso) {


this.codigo = codigo;
this.nome = nome;
this.regime = regime;
this.curso = curso;
}
public int getCodigo() {
return codigo; }
public String getNome() {
return nome; }
public String getRegime() {
return regime; }
public String getCurso() {
return curso; }
public void setCodigo(int codigo) {
this.codigo = codigo; }
public void setNome(String nome) {
this.nome = nome; }
public void setRegime(String regime) {
this.regime = regime; }
public void setCurso(String curso) {
this.curso = curso; }
public String toString(){

return codigo +"\t" +nome +"\t" +regime +"\t" +curso; }

public boolean equals(Disciplina disc){


if(disc.getCodigo() == this.codigo)
return true;
return false;
}
}

2. FORMULARIO E IMPLEMENTACAO DO OBJECTO DISCIPLINA


import java.awt.Container;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class FrmDisciplina extends JFrame{
private Container tela;
private JLabel lbCodigo, lbNome, lbRegime, lbCurso;
private JTextField txtCodigo, txtNome;
private ButtonGroup bgRegime;
private JRadioButton rbAnual, rbSemestral;
private JComboBox cbCursos;
private JButton btSave, btPrint;
private Disciplina instituto[] = new Disciplina[500];
private int nrElem=0;
public FrmDisciplina(){
super("Cadastro de disciplina");
setSize(500,350);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(null);
tela=getContentPane();
lbCodigo = new JLabel("CODIGO"); lbCodigo.setBounds(50,50,100,20); tela.add(lbCodigo);
txtCodigo = new JTextField(); txtCodigo.setBounds(100,50,250,20); tela.add(txtCodigo);
1
Amrico I. Langa

LTP-I I

CORRECO DA ACP-2

lbNome = new JLabel("NOME"); lbNome.setBounds(50,90,100,20); tela.add(lbNome);


txtNome = new JTextField(); txtNome.setBounds(100,90,250,20); tela.add(txtNome);
lbRegime = new JLabel("REGIME"); lbRegime.setBounds(50,130,100,20); tela.add(lbRegime);
rbSemestral = new JRadioButton("Semestral"); rbSemestral.setBounds(100,130,100,20); tela.add(rbSemestral);
rbAnual = new JRadioButton("Anual"); rbAnual.setBounds(250,130,100,20); tela.add(rbAnual);
bgRegime = new ButtonGroup(); bgRegime.add(rbSemestral); bgRegime.add(rbAnual);
lbCurso = new JLabel("CURSOS"); lbCurso.setBounds(50,170,100,20); tela.add(lbCurso);
String cursos[]={"Sistemas Informticos", "Gesto de Recursos Humanos", "Markting e Gesto", "Contabilidade e Gesto"};
cbCursos = new JComboBox(cursos); cbCursos.setBounds(100,170,250,20); tela.add(cbCursos);
btSave = new JButton("GRAVAR"); btSave.setBounds(100,240,100,30); tela.add(btSave);
btPrint = new JButton("IMPRIMIR"); btPrint.setBounds(250,240,100,30); tela.add(btPrint);
btSave.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
int cod = Integer.parseInt(txtCodigo.getText());
String nom = txtNome.getText();
String reg;
if(rbSemestral.isSelected()){
reg=rbSemestral.getText();
}else{
reg=rbAnual.getText();
}
String curso = cbCursos.getSelectedItem().toString();
Disciplina novaDisc = new Disciplina(cod, nom, reg, curso);
insercao(novaDisc);
}
});
btPrint.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ev){
impressao();
}
});
}
private void insercao(Disciplina disc){
if(nrElem < 500){
instituto[nrElem] = disc;
nrElem++;
JOptionPane.showMessageDialog(null, "Inserido com sucesso", "Insero", JOptionPane.INFORMATION_MESSAGE);
}else{
JOptionPane.showMessageDialog(null, "Falha na Insero: Array cheio", "Insero", JOptionPane.ERROR_MESSAGE);
}
}
private void impressao(){
if(nrElem > 0){
System.out.println("--------------------------------------------------------------------------------");
for(int i=0; i<nrElem; i++){
System.out.println(instituto[i].toString());
}
System.out.println("--------------------------------------------------------------------------------");
}else{
JOptionPane.showMessageDialog(null, "Falha na Insero: Array cheio", "Insero", JOptionPane.ERROR_MESSAGE);
}
}
public static void main(String args[]){
FrmDisciplina run= new FrmDisciplina();
run.setVisible(true);
}
}
2
Amrico I. Langa

Você também pode gostar