Moi!
Mun pitäisi tehdän NetBeansillä oheiselle ohjelmalle lomake ja yhteydet tietokantaan. Olen aloittanut lomakkeen teon, mutten osaa tehdä tarvittavia kytköksiä koodiin ja tietokantaan. Osaako joku auttaa?
Ohjelma
public class taivutus1 {
public static void main (String[] args)
{
//muuttujien määrittely
String infinitiivi;
//otetaan scanner toiminto käyttöön
Scanner lukija = new Scanner (System.in);
//pyydetään käyttäjää syöttämään verbin infinitiivi
System.out.println("Syota verbin infinitiivi:");
infinitiivi = lukija.next();
System.out.println("\n");
int pituus;
int n;
pituus = infinitiivi.length(); // kysytään merkkijonon pituus
if (pituus 3 & infinitiivi.endsWith("aa") || infinitiivi.endsWith("ea") || infinitiivi.endsWith("ia") || infinitiivi.endsWith("oa") || infinitiivi.endsWith("ua") || infinitiivi.endsWith("\u00E4\u00E4") || infinitiivi.endsWith("\u201E\u201E")||infinitiivi.endsWith ("\u0079\u00E4") || infinitiivi.endsWith ("\u0079\u201E")||infinitiivi.endsWith ("\u0065\u00E4") || infinitiivi.endsWith ("\u0065\u201E") ||infinitiivi.endsWith ("\u0069\u00E4") || infinitiivi.endsWith ("\u0069\u201E"))
{
System.out.println("Verbi kuuluu 1. ryhm\u201E\u201En");
}
else
{
System.out.println("Tama ei kuulu 1. ryhm\u201E\u201En");
}
if ( infinitiivi.endsWith("kkua"))
{
System.out.println ("min\u201E " infinitiivi.replace ("kkua","kun"));
System.out.println ("sin\u201E " infinitiivi.replace ("kkua","kut"));
System.out.println ("h\u201En " infinitiivi.replace ("kkua","kkuu"));
System.out.println ("me " infinitiivi.replace ("kkua","kumme"));
System.out.println ("te " infinitiivi.replace ("kkua","kutte"));
System.out.println ("he " infinitiivi.replace ("kkua","kkuvat"));
}
if ( infinitiivi.endsWith("ppia"))
{
System.out.println ("min\u201E " infinitiivi.replace ("ppia","pin"));
System.out.println ("sin\u201E " infinitiivi.replace ("ppia","pit"));
System.out.println ("h\u201En " infinitiivi.replace ("ppia","ppii"));
System.out.println ("me " infinitiivi.replace ("ppia","pimme"));
System.out.println ("te " infinitiivi.replace ("ppia","pitte"));
System.out.println ("he " infinitiivi.replace ("ppia","ppivat"));
}
}
}
LOMAKE
public class lomake extends javax.swing.JFrame {
private Object sanat;
/** Creates new form lomake */
public lomake() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {
bindingGroup = new org.jdesktop.beansbinding.BindingGroup();
infinitiivi = new javax.swing.JLabel();
juillet = new javax.swing.JLabel();
txtverbi = new javax.swing.JTextField();
btnTaivutus = new javax.swing.JToggleButton();
btnLisää = new javax.swing.JToggleButton();
btnsulje = new javax.swing.JToggleButton();
jScrollPane1 = new javax.swing.JScrollPane();
txtaTaivutus = new javax.swing.JTextArea();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("TAIVUTUS");
juillet.setFont(new java.awt.Font("Tahoma", 0, 18));
juillet.setForeground(new java.awt.Color(255, 0, 0));
juillet.setText("Syötä verbin infinitiivi ");
txtverbi.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtverbiActionPerformed(evt);
}
});
btnTaivutus.setText("TAIVUTAA");
org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, txtverbi, org.jdesktop.beansbinding.ELProperty.create("${text}"), btnTaivutus, org.jdesktop.beansbinding.BeanProperty.create("selected"));
bindingGroup.addBinding(binding);
btnTaivutus.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnTaivutusActionPerformed(evt);
}
});
btnLisää.setText("LISÄÄ TIETOKANTAAN");
btnLisää.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnLisääActionPerformed(evt);
}
});
btnsulje.setText("SULJE");
btnsulje.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnsuljeActionPerformed(evt);
}
});
txtaTaivutus.setColumns(20);
txtaTaivutus.setRows(5);
jScrollPane1.setViewportView(txtaTaivutus);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(juillet, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(btnLisää, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtverbi, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 146, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addComponent(btnTaivutus)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
.addGroup(layout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(infinitiivi, javax.swing.GroupLayout.PREFERRED_SIZE, 239, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(113, 113, 113))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(btnsulje, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(43, 43, 43))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(juillet, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(22, 22, 22)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(txtverbi, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnTaivutus))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnLisää)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(infinitiivi, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 21, Short.MAX_VALUE)
.addComponent(btnsulje)
.addContainerGap())
);
bindingGroup.bind();
pack();
}//
private void txtverbiActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btnLisääActionPerformed(java.awt.event.ActionEvent evt) {
}
private void btnsuljeActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);// TODO add your handling code here:
}
private void btnTaivutusActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println("\n");
for(int i = 0; i < sanat.length; i);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new lomake().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JToggleButton btnLisää;
private javax.swing.JToggleButton btnTaivutus;
private javax.swing.JToggleButton btnsulje;
private javax.swing.JLabel infinitiivi;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JLabel juillet;
private javax.swing.JTextArea txtaTaivutus;
private javax.swing.JTextField txtverbi;
private org.jdesktop.beansbinding.BindingGroup bindingGroup;
// End of variables declaration
}
Apua NetBeans-harjoitukseen?
2
781
Vastaukset
- if-else
Kun testasin tuota lomakkeen koodia, niin siinä painikkeet jäivät pohjaan ja verbi kenttään tulostui true/false kun "TAIVUTA" nappia painoi. Lisäksi koodissa oli turha rivi "for(int i = 0; i < sanat.length; i);" jolle kääntäjä heitti herjaa.
Jos saat sen true/false tulosteen pois, niin saat verbin taivutuksen siihen isoon taivutus teksti kenttään seuraavasti. Muuta lomakkeen btnTaivutsActionPerformed -metodi alla olevan kaltaiseksi. Eli siinä 1) haetaan verbi tekstikentästä, 2) taivutetaan verbi, 3) asetetaan taivutuksen tulos taivutus tekstikenttään.
--- ALKAA ---
private void btnTaivutusActionPerformed(java.awt.event.ActionEvent evt) {
txtaTaivutus.setText(taivutus1.taivuta(txtverbi.getText()));
}
--- LOPPUU ---
Lisää taivutus1 luokaan alla oleva metodi, eli metodi joka hoitaa taivutuksen:
---- ALKAA ---
public static String taivuta(String infinitiivi) {
String taivutus = "";
if (infinitiivi.endsWith("kkua")) {
taivutus = "minä " infinitiivi.replace("kkua", "kun") "\n";
taivutus = "sinä " infinitiivi.replace("kkua", "kut") "\n";
taivutus = "hän " infinitiivi.replace("kkua", "kkuu") "\n";
taivutus = "me " infinitiivi.replace("kkua", "kumme") "\n";
taivutus = "te " infinitiivi.replace("kkua", "kutte") "\n";
taivutus = "he " infinitiivi.replace("kkua", "kkuvat") "\n";
} else if (infinitiivi.endsWith("ppia")) {
taivutus = "minä " infinitiivi.replace("ppia", "pin") "\n";
taivutus = "sinä " infinitiivi.replace("ppia", "pit") "\n";
taivutus = "hän " infinitiivi.replace("ppia", "ppii") "\n";
taivutus = "me " infinitiivi.replace("ppia", "pimme") "\n";
taivutus = "te " infinitiivi.replace("ppia", "pitte") "\n";
taivutus = "he " infinitiivi.replace("ppia", "ppivat") "\n";
}
else
{
taivutus = "Ei taivutusta\n";
}
return taivutus;
}
--- LOPPUU ---
Latasin Netbeansin juuri äsken joten en tiedä miten siinä asiat pitäisi tehdä. Joku Netbeans käyttäjä varmaan osaa kertoa tarkemmin. Sen true/falsen sain pois kun kommentoin pois "bindingGroup.addBinding(binding);" -rivin ja sen yläpuolella olleen rivin.
Tietokannasta en tiedä mitään. Mitä sen napin pitäisi tehdä ja miten tietokantaa on tarkoitus käyttää?- Tyhmä!?
Hei!
Kiitoksia vastauksista joista on paljon apua. Tietokanta-napin idea oli se että taivutetut muodot tallentuvat tietokantaan (esim. Accessiin tai vastaavaan)
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225234- 254398
- 282541
- 342264
- 372008
- 151928
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191617- 121541
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211277Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101194