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
772
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
- 1452519
En kai koskaan saa sinua
Koska et usko että riitäisit minulle. Olet aina pitänyt itseäsi liian risana ja heikkona. Katkot korkeutesi, ja poraat k1541649Terveystalon lääkärit ylilaskuttaneet
Tämän pörriäiset osaavat, laskuttamisen. Terveystalo myöntää asian. https://www.hs.fi/suomi/art-2000011134269.html "K1331613Saran ökytyyli käänsi katseita.
On nyt kyllä Sara kasvoistaan, kuvan perusteella todellakin pyöristynyt ainakin kuvan perusteella.1461344- 661338
The Summit Suomi: Maxie avaa hyytävästä tilanteesta kuvauksissa: "Veri roiskui ja tajusi, että..."
Oletko seurannut The Summit Suomea? Tykkäätkö vai et tai mitä mieltä ylipäätään olet sarjasta? Moni katsoja on kaikonnut131170Työttömille lusmuille luvassa lisää keppiä
Hallitus aikoo kiristää velvoitteiden laiminlyönnistä seuraavia työttömyysturvan karensseja ensi vuodesta alkaen. Hall2611123- 156966
Miksi ihmeessä?
Erika Vikman diskattiin, ei osallistu Euroviisuihin – tilalle Gettomasa ja paluun tekevä Cheek22904Tiedän kaiken sinusta ja kaikesta
Tiedän miten kärsit. Tiedän millanen oikeesti oot. Tiedän miksi valehtelit, tiedän miksi satutit mua. Tiedän mitä tapaht58889