statefula geçiş

 import 'package:flutter/cupertino.dart';

import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';

/*
https://balikesirmyo.blogspot.com/
const MyApp({super.key});
MyApp() , MyApp sınıfının yapıcı metodudur.
const Anahtar Kelimesi: MyApp sınıfının oluşturduğu nesnelerin sabit, değişmez (immutable) olmasını sağlar.
Flutter, const yapıları optimize ederek gereksiz yeniden oluşturmalardan kaçınır, performansı artırır.
Eğer const kaldırılırsa, her seferinde yeni bir MyApp nesnesi oluşturulur. Ancak const ile tanımlandığında,
 gereksiz nesne oluşturma önlenir.
super.key : super/ebeveyn sınıf (StatelessWidget) ın key özelliğidir, bununla MyApp sınıfının yapıcı metodu çağırır.
key, widget ağaçlarını optimize etmek ve yeniden oluşturulmasını yönetmek için kullanılır.
const MyApp({super.key}) burada {} süslü parantezler içinde olduğu için, bu parametrelerin adlandırılmış parametreler
olduğunu belirtir.
MyApp({}) süslü parantezler named parameter (adlandırılmış parametre) oluşturmak için
, super.key vermeden de çağırılabilmesini sağlar.
*/
void main() {
  runApp(benimUygDurum());
}

class benimUygDurum extends StatefulWidget {
  const benimUygDurum({super.key});

  @override
  State<benimUygDurum> createState() => _benimUygDurumState();
}

class _benimUygDurumState extends State<benimUygDurum> {
  // StatelessWidget sınıfınız benimUyg içindeki herşeyi buraya taşı
  int solZarNo = 1;
  int sagZarNo = 2;
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
      backgroundColor: Colors.red,
      appBar: AppBar(
        title: const Text('Başlık'),
        backgroundColor: Colors.red,
      ),
      body: Center(
        child: Column(
          children: <Widget>[
            const Text("Merhaba"),
            Row(
              // satır  \\10.14.4.76\gp2025\hafta6\dice_project\lib
              children: <Widget>[
                Expanded(
                    flex: 1,
                    child: Padding(
                        padding: EdgeInsets.all(10),
                        child: TextButton(
                            onPressed: () {
                              solZarNo = 5;
                              print('Sol Zara Tıklandı No: $solZarNo');
                            },
                            child: Image.asset('images/dice$solZarNo.png')))),
                Expanded(
                    flex: 1,
                    child: Padding(
                        padding: EdgeInsets.all(10),
                        child: TextButton(
                            onPressed: () {
                              sagZarNo = 6;
                              print('Sağ Zara Tıklandı, No:$sagZarNo');
                            },
                            child: Image.asset('images/dice$sagZarNo.png')))),
              ],
            ),
            const Text("Merhaba"),
            const Text("Merhaba"),
          ],
        ),
      ),
    ));
  }
}
/*
class benimUyg extends StatelessWidget {
  const benimUyg({super.key});

  @override
  Widget build(BuildContext context) {
    //print('Merhaba');
    //print(topla());
    //print(topla(c: 5, a: 8));
    int solZarNo = 1;
    int sagZarNo = 2;

    return MaterialApp(
        home: Scaffold(
      backgroundColor: Colors.red,
      appBar: AppBar(
        title: const Text('Başlık'),
        backgroundColor: Colors.red,
      ),
      body: Center(
        child: Column(
          children: <Widget>[
            const Text("Merhaba"),
            Row(
              // satır  \\10.14.4.76\gp2025\hafta6\dice_project\lib
              children: <Widget>[
                Expanded(
                    flex: 1,
                    child: Padding(
                        padding: EdgeInsets.all(10),
                        child: TextButton(
                            onPressed: () {
                              solZarNo = 5;
                              print('Sol Zara Tıklandı No: $solZarNo');
                            },
                            child: Image.asset('images/dice$solZarNo.png')))),
                Expanded(
                    flex: 1,
                    child: Padding(
                        padding: EdgeInsets.all(10),
                        child: TextButton(
                            onPressed: () {
                              sagZarNo = 6;
                              print('Sağ Zara Tıklandı, No:$sagZarNo');
                            },
                            child: Image.asset('images/dice$sagZarNo.png')))),
              ],
            ),
            const Text("Merhaba"),
            const Text("Merhaba"),
          ],
        ),
      ),
    ));
  }

  int topla({int? a, int? b, int? c}) {
    // ?? null değilse a değerini al, null ise 0 al
    return (a ?? 0) + (b ?? 0) + (c ?? 0);
  }
}
*/

Yorumlar

Bu blogdaki popüler yayınlar

2025-2026 Bahar BAUN, Balıkesir MYO, Bilgisayar programcılığı, seçilecek dersler

Dart dilinin değişkenleri